Module: Calendrical
- Defined in:
- ext/calendrical/calendricalmodule.c
Constant Summary collapse
- VERSION =
rb_obj_freeze(rb_str_new2("$Revision: 1.16 $"))
Class Method Summary collapse
- .bahai_last_day_of_month(y, m) ⇒ Object
- .bahai_leap_year(y) ⇒ Object
- .bahai_leap_year?(y) ⇒ Boolean
- .bahai_to_rd(y, m, md) ⇒ Object
- .bahai_vahid_to_year(k, v, y) ⇒ Object
- .bahai_year_to_vahid(y) ⇒ Object
- .bengali_last_day_of_month(y, m) ⇒ Object
- .bengali_leap_year(y) ⇒ Object
- .bengali_leap_year?(y) ⇒ Boolean
- .bengali_to_rd(y, m, md) ⇒ Object
- .coptic_last_day_of_month(y, m) ⇒ Object
- .coptic_leap_year(y) ⇒ Object
- .coptic_leap_year?(y) ⇒ Boolean
- .coptic_to_rd(y, m, md) ⇒ Object
- .easter(y) ⇒ Object
- .ethiopian_last_day_of_month(y, m) ⇒ Object
- .ethiopian_leap_year(y) ⇒ Object
- .ethiopian_leap_year?(y) ⇒ Boolean
- .ethiopian_to_rd(y, m, md) ⇒ Object
- .french_last_day_of_month(y, m) ⇒ Object
- .french_leap_year(y) ⇒ Object
- .french_leap_year?(y) ⇒ Boolean
- .french_to_rd(y, m, md) ⇒ Object
- .gregorian_last_day_of_month(y, m) ⇒ Object
- .gregorian_leap_year(y) ⇒ Object
- .gregorian_leap_year?(y) ⇒ Boolean
- .gregorian_to_rd(y, m, md) ⇒ Object
- .hebrew_calendar_elapsed_days(y) ⇒ Object
- .hebrew_days_in_year(y) ⇒ Object
- .hebrew_last_day_of_month(y, m) ⇒ Object
- .hebrew_last_month_of_year(y) ⇒ Object
- .hebrew_leap_year(y) ⇒ Object
- .hebrew_leap_year?(y) ⇒ Boolean
- .hebrew_to_rd(y, m, md) ⇒ Object
- .indian_national_last_day_of_month(y, m) ⇒ Object
- .indian_national_leap_year(y) ⇒ Object
- .indian_national_leap_year?(y) ⇒ Boolean
- .indian_national_to_rd(y, m, md) ⇒ Object
- .islamic_last_day_of_month(y, m) ⇒ Object
- .islamic_leap_year(y) ⇒ Object
- .islamic_leap_year?(y) ⇒ Boolean
- .islamic_to_rd(y, m, md) ⇒ Object
- .iso_to_rd(y, w, wd) ⇒ Object
- .jalali_last_day_of_month(y, m) ⇒ Object
- .jalali_leap_year(y) ⇒ Object
- .jalali_leap_year?(y) ⇒ Boolean
- .jalali_to_rd(y, m, md) ⇒ Object
- .jd_to_mjd(j) ⇒ Object
- .jd_to_rd(j) ⇒ Object
- .julian_last_day_of_month(y, m) ⇒ Object
- .julian_leap_year(y) ⇒ Object
- .julian_leap_year?(y) ⇒ Boolean
- .julian_to_rd(y, m, md) ⇒ Object
- .kday_on_or_before(a, k) ⇒ Object
- .kyureki_to_rd(y, m, l, md) ⇒ Object
- .ld_to_rd(l) ⇒ Object
- .long_heshvan(y) ⇒ Object
- .long_heshvan?(y) ⇒ Boolean
- .lunar_longitude(d) ⇒ Object
- .lunar_phase(d) ⇒ Object
- .mayan_haab_difference ⇒ Object
- .mayan_haab_on_or_before(m, md, a) ⇒ Object
- .mayan_haab_tzolkin_on_or_before ⇒ Object
- .mayan_long_count_to_rd ⇒ Object
- .mayan_tzolkin_difference ⇒ Object
- .mayan_tzolkin_on_or_before(na, nu, a) ⇒ Object
- .mjd_to_jd(m) ⇒ Object
- .mjd_to_rd(m) ⇒ Object
- .nanakshahi_last_day_of_month(y, m) ⇒ Object
- .nanakshahi_leap_year(y) ⇒ Object
- .nanakshahi_leap_year?(y) ⇒ Boolean
- .nanakshahi_to_rd(y, m, md) ⇒ Object
- .new_moon(d) ⇒ Object
- .nicaean_rule_easter(y) ⇒ Object
- .nth_kday(y, m, n, k) ⇒ Object
- .old_hindu_lunar_precedes ⇒ Object
- .old_hindu_lunar_to_rd ⇒ Object
- .old_hindu_solar_to_rd(y, m, md) ⇒ Object
- .ordinal_to_rd(y, yd) ⇒ Object
- .rd_to_bahai(a) ⇒ Object
- .rd_to_bengali(a) ⇒ Object
- .rd_to_coptic(a) ⇒ Object
- .rd_to_day_of_week(a) ⇒ Object
- .rd_to_ethiopian(a) ⇒ Object
- .rd_to_french(a) ⇒ Object
- .rd_to_gregorian(a) ⇒ Object
- .rd_to_hebrew(a) ⇒ Object
- .rd_to_indian_national(a) ⇒ Object
- .rd_to_islamic(a) ⇒ Object
- .rd_to_iso(a) ⇒ Object
- .rd_to_jalali(a) ⇒ Object
- .rd_to_jd(a) ⇒ Object
- .rd_to_julian(a) ⇒ Object
- .rd_to_kyureki(a) ⇒ Object
- .rd_to_kyureki_day_of_week(a) ⇒ Object
- .rd_to_ld(a) ⇒ Object
- .rd_to_mayan_haab(a) ⇒ Object
- .rd_to_mayan_long_count(a) ⇒ Object
- .rd_to_mayan_tzolkin(a) ⇒ Object
- .rd_to_mjd(a) ⇒ Object
- .rd_to_nanakshahi(a) ⇒ Object
- .rd_to_old_hindu_lunar(a) ⇒ Object
- .rd_to_old_hindu_solar(a) ⇒ Object
- .rd_to_ordinal(a) ⇒ Object
- .rd_to_week_date(a) ⇒ Object
- .rd_to_world(a) ⇒ Object
- .rd_to_world_day_of_week(a) ⇒ Object
- .short_kislev(y) ⇒ Object
- .short_kislev?(y) ⇒ Boolean
- .solar_longitude(d) ⇒ Object
- .week_date_to_rd(y, w, wd) ⇒ Object
- .world_last_day_of_month(y, m) ⇒ Object
- .world_leap_year(y) ⇒ Object
- .world_leap_year?(y) ⇒ Boolean
- .world_to_rd(y, m, md) ⇒ Object
- .zodiac(d) ⇒ Object
Class Method Details
.bahai_last_day_of_month(y, m) ⇒ Object
835 836 837 838 839 840 841 842 843 844 |
# File 'ext/calendrical/calendricalmodule.c', line 835 static VALUE calendrical_bahai_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 20); iy = NUM2INT(y); md = bahai_last_day_of_month(iy, im); return INT2NUM(md); } |
.bahai_leap_year(y) ⇒ Object
825 826 827 828 829 830 831 832 833 |
# File 'ext/calendrical/calendricalmodule.c', line 825 static VALUE calendrical_bahai_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = bahai_leap_year(iy); return INT2BOOL(l); } |
.bahai_leap_year?(y) ⇒ Boolean
825 826 827 828 829 830 831 832 833 |
# File 'ext/calendrical/calendricalmodule.c', line 825 static VALUE calendrical_bahai_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = bahai_leap_year(iy); return INT2BOOL(l); } |
.bahai_to_rd(y, m, md) ⇒ Object
846 847 848 849 850 851 852 853 854 855 856 857 858 859 |
# File 'ext/calendrical/calendricalmodule.c', line 846 static VALUE calendrical_bahai_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 20); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 19); iy = NUM2INT(y); a = bahai_to_rd(iy, im, imd); rd_to_bahai(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.bahai_vahid_to_year(k, v, y) ⇒ Object
881 882 883 884 885 886 887 888 889 890 891 |
# File 'ext/calendrical/calendricalmodule.c', line 881 static VALUE calendrical_bahai_vahid_to_year(VALUE obj, VALUE k, VALUE v, VALUE y) { int ik, iv, iy, iy2; ik = NUM2INT(k); iv = NUM2INT(v); CHECK_DOMAIN2(iv, 1, 19); iy = NUM2INT(y); CHECK_DOMAIN2(iy, 1, 19); iy2 = bahai_vahid_to_year(ik, iv, iy); return INT2NUM(iy2); } |
.bahai_year_to_vahid(y) ⇒ Object
871 872 873 874 875 876 877 878 879 |
# File 'ext/calendrical/calendricalmodule.c', line 871 static VALUE calendrical_bahai_year_to_vahid(VALUE obj, VALUE y) { int iy, k, v, iy2; iy = NUM2INT(y); bahai_year_to_vahid(iy, &k, &v, &iy2); return rb_ary_new3(3, INT2NUM(k), INT2NUM(v), INT2NUM(iy2)); } |
.bengali_last_day_of_month(y, m) ⇒ Object
949 950 951 952 953 954 955 956 957 958 |
# File 'ext/calendrical/calendricalmodule.c', line 949 static VALUE calendrical_bengali_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); md = bengali_last_day_of_month(iy, im); return INT2NUM(md); } |
.bengali_leap_year(y) ⇒ Object
939 940 941 942 943 944 945 946 947 |
# File 'ext/calendrical/calendricalmodule.c', line 939 static VALUE calendrical_bengali_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = bengali_leap_year(iy); return INT2BOOL(l); } |
.bengali_leap_year?(y) ⇒ Boolean
939 940 941 942 943 944 945 946 947 |
# File 'ext/calendrical/calendricalmodule.c', line 939 static VALUE calendrical_bengali_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = bengali_leap_year(iy); return INT2BOOL(l); } |
.bengali_to_rd(y, m, md) ⇒ Object
960 961 962 963 964 965 966 967 968 969 970 971 972 973 |
# File 'ext/calendrical/calendricalmodule.c', line 960 static VALUE calendrical_bengali_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 31); iy = NUM2INT(y); a = bengali_to_rd(iy, im, imd); rd_to_bengali(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.coptic_last_day_of_month(y, m) ⇒ Object
697 698 699 700 701 702 703 704 705 706 |
# File 'ext/calendrical/calendricalmodule.c', line 697 static VALUE calendrical_coptic_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 13); iy = NUM2INT(y); md = coptic_last_day_of_month(iy, im); return INT2NUM(md); } |
.coptic_leap_year(y) ⇒ Object
687 688 689 690 691 692 693 694 695 |
# File 'ext/calendrical/calendricalmodule.c', line 687 static VALUE calendrical_coptic_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = coptic_leap_year(iy); return INT2BOOL(l); } |
.coptic_leap_year?(y) ⇒ Boolean
687 688 689 690 691 692 693 694 695 |
# File 'ext/calendrical/calendricalmodule.c', line 687 static VALUE calendrical_coptic_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = coptic_leap_year(iy); return INT2BOOL(l); } |
.coptic_to_rd(y, m, md) ⇒ Object
708 709 710 711 712 713 714 715 716 717 718 719 720 721 |
# File 'ext/calendrical/calendricalmodule.c', line 708 static VALUE calendrical_coptic_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 13); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 30); iy = NUM2INT(y); a = coptic_to_rd(iy, im, imd); rd_to_coptic(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.easter(y) ⇒ Object
330 331 332 333 334 335 336 337 338 |
# File 'ext/calendrical/calendricalmodule.c', line 330 static VALUE calendrical_easter(VALUE obj, VALUE y) { int iy, a; iy = NUM2INT(y); a = easter(iy); return INT2NUM(a); } |
.ethiopian_last_day_of_month(y, m) ⇒ Object
743 744 745 746 747 748 749 750 751 752 |
# File 'ext/calendrical/calendricalmodule.c', line 743 static VALUE calendrical_ethiopian_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 13); iy = NUM2INT(y); md = ethiopian_last_day_of_month(iy, im); return INT2NUM(md); } |
.ethiopian_leap_year(y) ⇒ Object
733 734 735 736 737 738 739 740 741 |
# File 'ext/calendrical/calendricalmodule.c', line 733 static VALUE calendrical_ethiopian_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = ethiopian_leap_year(iy); return INT2BOOL(l); } |
.ethiopian_leap_year?(y) ⇒ Boolean
733 734 735 736 737 738 739 740 741 |
# File 'ext/calendrical/calendricalmodule.c', line 733 static VALUE calendrical_ethiopian_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = ethiopian_leap_year(iy); return INT2BOOL(l); } |
.ethiopian_to_rd(y, m, md) ⇒ Object
754 755 756 757 758 759 760 761 762 763 764 765 766 767 |
# File 'ext/calendrical/calendricalmodule.c', line 754 static VALUE calendrical_ethiopian_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 13); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 30); iy = NUM2INT(y); a = ethiopian_to_rd(iy, im, imd); rd_to_ethiopian(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.french_last_day_of_month(y, m) ⇒ Object
466 467 468 469 470 471 472 473 474 475 |
# File 'ext/calendrical/calendricalmodule.c', line 466 static VALUE calendrical_french_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 13); iy = NUM2INT(y); md = french_last_day_of_month(iy, im); return INT2NUM(md); } |
.french_leap_year(y) ⇒ Object
456 457 458 459 460 461 462 463 464 |
# File 'ext/calendrical/calendricalmodule.c', line 456 static VALUE calendrical_french_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = french_leap_year(iy); return INT2BOOL(l); } |
.french_leap_year?(y) ⇒ Boolean
456 457 458 459 460 461 462 463 464 |
# File 'ext/calendrical/calendricalmodule.c', line 456 static VALUE calendrical_french_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = french_leap_year(iy); return INT2BOOL(l); } |
.french_to_rd(y, m, md) ⇒ Object
477 478 479 480 481 482 483 484 485 486 487 488 489 490 |
# File 'ext/calendrical/calendricalmodule.c', line 477 static VALUE calendrical_french_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 13); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 30); iy = NUM2INT(y); a = french_to_rd(iy, im, imd); rd_to_french(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.gregorian_last_day_of_month(y, m) ⇒ Object
45 46 47 48 49 50 51 52 53 54 |
# File 'ext/calendrical/calendricalmodule.c', line 45 static VALUE calendrical_gregorian_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); md = gregorian_last_day_of_month(iy, im); return INT2NUM(md); } |
.gregorian_leap_year(y) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'ext/calendrical/calendricalmodule.c', line 35 static VALUE calendrical_gregorian_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = gregorian_leap_year(iy); return INT2BOOL(l); } |
.gregorian_leap_year?(y) ⇒ Boolean
35 36 37 38 39 40 41 42 43 |
# File 'ext/calendrical/calendricalmodule.c', line 35 static VALUE calendrical_gregorian_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = gregorian_leap_year(iy); return INT2BOOL(l); } |
.gregorian_to_rd(y, m, md) ⇒ Object
56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'ext/calendrical/calendricalmodule.c', line 56 static VALUE calendrical_gregorian_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 31); iy = NUM2INT(y); a = gregorian_to_rd(iy, im, imd); rd_to_gregorian(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.hebrew_calendar_elapsed_days(y) ⇒ Object
240 241 242 243 244 245 246 247 248 |
# File 'ext/calendrical/calendricalmodule.c', line 240 static VALUE calendrical_hebrew_calendar_elapsed_days(VALUE obj, VALUE y) { int iy, d; iy = NUM2INT(y); d = hebrew_calendar_elapsed_days(iy); return INT2NUM(d); } |
.hebrew_days_in_year(y) ⇒ Object
250 251 252 253 254 255 256 257 258 |
# File 'ext/calendrical/calendricalmodule.c', line 250 static VALUE calendrical_hebrew_days_in_year(VALUE obj, VALUE y) { int iy, d; iy = NUM2INT(y); d = hebrew_days_in_year(iy); return INT2NUM(d); } |
.hebrew_last_day_of_month(y, m) ⇒ Object
229 230 231 232 233 234 235 236 237 238 |
# File 'ext/calendrical/calendricalmodule.c', line 229 static VALUE calendrical_hebrew_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 13); iy = NUM2INT(y); md = hebrew_last_day_of_month(iy, im); return INT2NUM(md); } |
.hebrew_last_month_of_year(y) ⇒ Object
219 220 221 222 223 224 225 226 227 |
# File 'ext/calendrical/calendricalmodule.c', line 219 static VALUE calendrical_hebrew_last_month_of_year(VALUE obj, VALUE y) { int iy, m; iy = NUM2INT(y); m = hebrew_last_month_of_year(iy); return INT2NUM(m); } |
.hebrew_leap_year(y) ⇒ Object
209 210 211 212 213 214 215 216 217 |
# File 'ext/calendrical/calendricalmodule.c', line 209 static VALUE calendrical_hebrew_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = hebrew_leap_year(iy); return INT2BOOL(l); } |
.hebrew_leap_year?(y) ⇒ Boolean
209 210 211 212 213 214 215 216 217 |
# File 'ext/calendrical/calendricalmodule.c', line 209 static VALUE calendrical_hebrew_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = hebrew_leap_year(iy); return INT2BOOL(l); } |
.hebrew_to_rd(y, m, md) ⇒ Object
280 281 282 283 284 285 286 287 288 289 290 291 292 293 |
# File 'ext/calendrical/calendricalmodule.c', line 280 static VALUE calendrical_hebrew_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 13); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 30); iy = NUM2INT(y); a = hebrew_to_rd(iy, im, imd); rd_to_hebrew(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.indian_national_last_day_of_month(y, m) ⇒ Object
903 904 905 906 907 908 909 910 911 912 |
# File 'ext/calendrical/calendricalmodule.c', line 903 static VALUE calendrical_indian_national_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); md = indian_national_last_day_of_month(iy, im); return INT2NUM(md); } |
.indian_national_leap_year(y) ⇒ Object
893 894 895 896 897 898 899 900 901 |
# File 'ext/calendrical/calendricalmodule.c', line 893 static VALUE calendrical_indian_national_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = indian_national_leap_year(iy); return INT2BOOL(l); } |
.indian_national_leap_year?(y) ⇒ Boolean
893 894 895 896 897 898 899 900 901 |
# File 'ext/calendrical/calendricalmodule.c', line 893 static VALUE calendrical_indian_national_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = indian_national_leap_year(iy); return INT2BOOL(l); } |
.indian_national_to_rd(y, m, md) ⇒ Object
914 915 916 917 918 919 920 921 922 923 924 925 926 927 |
# File 'ext/calendrical/calendricalmodule.c', line 914 static VALUE calendrical_indian_national_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 31); iy = NUM2INT(y); a = indian_national_to_rd(iy, im, imd); rd_to_indian_national(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.islamic_last_day_of_month(y, m) ⇒ Object
173 174 175 176 177 178 179 180 181 182 |
# File 'ext/calendrical/calendricalmodule.c', line 173 static VALUE calendrical_islamic_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); md = islamic_last_day_of_month(iy, im); return INT2NUM(md); } |
.islamic_leap_year(y) ⇒ Object
163 164 165 166 167 168 169 170 171 |
# File 'ext/calendrical/calendricalmodule.c', line 163 static VALUE calendrical_islamic_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = islamic_leap_year(iy); return INT2BOOL(l); } |
.islamic_leap_year?(y) ⇒ Boolean
163 164 165 166 167 168 169 170 171 |
# File 'ext/calendrical/calendricalmodule.c', line 163 static VALUE calendrical_islamic_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = islamic_leap_year(iy); return INT2BOOL(l); } |
.islamic_to_rd(y, m, md) ⇒ Object
184 185 186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'ext/calendrical/calendricalmodule.c', line 184 static VALUE calendrical_islamic_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 30); iy = NUM2INT(y); a = islamic_to_rd(iy, im, imd); rd_to_islamic(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.iso_to_rd(y, w, wd) ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'ext/calendrical/calendricalmodule.c', line 92 static VALUE calendrical_iso_to_rd(VALUE obj, VALUE y, VALUE w, VALUE wd) { int iy, iw, iwd, a, iy2, iw2, iwd2; iw = NUM2INT(w); CHECK_DOMAIN2(iw, 1, 53); iwd = NUM2INT(wd); CHECK_DOMAIN2(iwd, 1, 7); iy = NUM2INT(y); a = iso_to_rd(iy, iw, iwd); rd_to_iso(a, &iy2, &iw2, &iwd2); if (iw != iw2 || iwd != iwd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.jalali_last_day_of_month(y, m) ⇒ Object
789 790 791 792 793 794 795 796 797 798 |
# File 'ext/calendrical/calendricalmodule.c', line 789 static VALUE calendrical_jalali_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); md = jalali_last_day_of_month(iy, im); return INT2NUM(md); } |
.jalali_leap_year(y) ⇒ Object
779 780 781 782 783 784 785 786 787 |
# File 'ext/calendrical/calendricalmodule.c', line 779 static VALUE calendrical_jalali_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = jalali_leap_year(iy); return INT2BOOL(l); } |
.jalali_leap_year?(y) ⇒ Boolean
779 780 781 782 783 784 785 786 787 |
# File 'ext/calendrical/calendricalmodule.c', line 779 static VALUE calendrical_jalali_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = jalali_leap_year(iy); return INT2BOOL(l); } |
.jalali_to_rd(y, m, md) ⇒ Object
800 801 802 803 804 805 806 807 808 809 810 811 812 813 |
# File 'ext/calendrical/calendricalmodule.c', line 800 static VALUE calendrical_jalali_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 31); iy = NUM2INT(y); a = jalali_to_rd(iy, im, imd); rd_to_jalali(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.jd_to_mjd(j) ⇒ Object
1106 1107 1108 1109 1110 1111 1112 1113 1114 |
# File 'ext/calendrical/calendricalmodule.c', line 1106 static VALUE calendrical_jd_to_mjd(VALUE obj, VALUE j) { int ij, m; ij = NUM2INT(j); m = jd_to_mjd(ij); return INT2NUM(m); } |
.jd_to_rd(j) ⇒ Object
1055 1056 1057 1058 1059 1060 1061 1062 1063 |
# File 'ext/calendrical/calendricalmodule.c', line 1055 static VALUE calendrical_jd_to_rd(VALUE obj, VALUE j) { int ij, a; ij = NUM2INT(j); a = jd_to_rd(ij); return INT2NUM(a); } |
.julian_last_day_of_month(y, m) ⇒ Object
127 128 129 130 131 132 133 134 135 136 |
# File 'ext/calendrical/calendricalmodule.c', line 127 static VALUE calendrical_julian_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); md = julian_last_day_of_month(iy, im); return INT2NUM(md); } |
.julian_leap_year(y) ⇒ Object
117 118 119 120 121 122 123 124 125 |
# File 'ext/calendrical/calendricalmodule.c', line 117 static VALUE calendrical_julian_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = julian_leap_year(iy); return INT2BOOL(l); } |
.julian_leap_year?(y) ⇒ Boolean
117 118 119 120 121 122 123 124 125 |
# File 'ext/calendrical/calendricalmodule.c', line 117 static VALUE calendrical_julian_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = julian_leap_year(iy); return INT2BOOL(l); } |
.julian_to_rd(y, m, md) ⇒ Object
138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'ext/calendrical/calendricalmodule.c', line 138 static VALUE calendrical_julian_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 31); iy = NUM2INT(y); a = julian_to_rd(iy, im, imd); rd_to_julian(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.kday_on_or_before(a, k) ⇒ Object
81 82 83 84 85 86 87 88 89 90 |
# File 'ext/calendrical/calendricalmodule.c', line 81 static VALUE calendrical_kday_on_or_before(VALUE obj, VALUE a, VALUE k) { int ia, ik, b; ia = NUM2INT(a); ik = NUM2INT(k); CHECK_DOMAIN2(ik, 0, 6); b = kday_on_or_before(ia, NUM2INT(k)); return INT2NUM(b); } |
.kyureki_to_rd(y, m, l, md) ⇒ Object
1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 |
# File 'ext/calendrical/calendricalmodule.c', line 1146 static VALUE calendrical_kyureki_to_rd(VALUE obj, VALUE y, VALUE m, VALUE l, VALUE md) { int j, a; QDATE q, q2; q.j = 0; q.y = NUM2INT(y); q.yd = 0; q.m = NUM2INT(m); CHECK_DOMAIN2(q.m, 1, 12); q.md = NUM2INT(md); CHECK_DOMAIN2(q.md, 1, 30); q.wd = 0; q.leap = BOOL2INT(l); j = rqref(&q); if (j == 0) rb_raise(rb_eArgError, "invalid date"); a = jd_to_rd(j); qref(j, &q2); if (q.y != q2.y || q.m != q2.m || q.md != q2.md || q.leap != q2.leap) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.ld_to_rd(l) ⇒ Object
1116 1117 1118 1119 1120 1121 1122 1123 1124 |
# File 'ext/calendrical/calendricalmodule.c', line 1116 static VALUE calendrical_ld_to_rd(VALUE obj, VALUE l) { int il, a; il = NUM2INT(l); a = ld_to_rd(il); return INT2NUM(a); } |
.long_heshvan(y) ⇒ Object
260 261 262 263 264 265 266 267 268 |
# File 'ext/calendrical/calendricalmodule.c', line 260 static VALUE calendrical_long_heshvan(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = long_heshvan(iy); return INT2BOOL(l); } |
.long_heshvan?(y) ⇒ Boolean
260 261 262 263 264 265 266 267 268 |
# File 'ext/calendrical/calendricalmodule.c', line 260 static VALUE calendrical_long_heshvan(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = long_heshvan(iy); return INT2BOOL(l); } |
.lunar_longitude(d) ⇒ Object
557 558 559 560 561 562 563 564 |
# File 'ext/calendrical/calendricalmodule.c', line 557 static VALUE calendrical_lunar_longitude(VALUE obj, VALUE d) { double l; l = lunar_longitude(getfloat(d)); return rb_float_new(l); } |
.lunar_phase(d) ⇒ Object
566 567 568 569 570 571 572 573 |
# File 'ext/calendrical/calendricalmodule.c', line 566 static VALUE calendrical_lunar_phase(VALUE obj, VALUE d) { double p; p = lunar_phase(getfloat(d)); return rb_float_new(p); } |
.mayan_haab_difference ⇒ Object
379 380 381 382 383 384 385 386 387 388 389 390 391 |
# File 'ext/calendrical/calendricalmodule.c', line 379 static VALUE calendrical_mayan_haab_difference (VALUE obj, VALUE m1, VALUE md1, VALUE m2, VALUE md2) { int imd1, im1, imd2, im2, d; im1 = NUM2INT(m1); CHECK_DOMAIN2(im1, 1, 19); imd1 = NUM2INT(md1); CHECK_DOMAIN2(imd1, 0, (im1 == 19) ? 4 : 19); im2 = NUM2INT(m2); CHECK_DOMAIN2(im2, 1, 19); imd2 = NUM2INT(md2); CHECK_DOMAIN2(imd2, 0, (im2 == 19) ? 4 : 19); d = mayan_haab_difference(im1, imd1, im2, imd2); return INT2NUM(d); } |
.mayan_haab_on_or_before(m, md, a) ⇒ Object
393 394 395 396 397 398 399 400 401 402 403 |
# File 'ext/calendrical/calendricalmodule.c', line 393 static VALUE calendrical_mayan_haab_on_or_before(VALUE obj, VALUE m, VALUE md, VALUE a) { int imd, im, ia, d; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 19); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 0, (im == 19) ? 4 : 19); ia = NUM2INT(a); d = mayan_haab_on_or_before(im, imd, ia); return INT2NUM(d); } |
.mayan_haab_tzolkin_on_or_before ⇒ Object
441 442 443 444 445 446 447 448 449 450 451 452 453 454 |
# File 'ext/calendrical/calendricalmodule.c', line 441 static VALUE calendrical_mayan_haab_tzolkin_on_or_before (VALUE obj, VALUE m, VALUE md, VALUE na, VALUE nu, VALUE a) { int imd, im, inu, ina, ia, d; imd = NUM2INT(md); CHECK_DOMAIN2(imd, 0, 19); im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 19); inu = NUM2INT(nu); CHECK_DOMAIN2(inu, 1, 13); ina = NUM2INT(na); CHECK_DOMAIN2(ina, 1, 20); ia = NUM2INT(a); d = mayan_haab_tzolkin_on_or_before(im, imd, ina, inu, ia); return INT2NUM(d); } |
.mayan_long_count_to_rd ⇒ Object
340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 |
# File 'ext/calendrical/calendricalmodule.c', line 340 static VALUE calendrical_mayan_long_count_to_rd (VALUE obj, VALUE bt, VALUE kt, VALUE t, VALUE u, VALUE k) { int ibt, ikt, it, iu, ik, a, ibt2, ikt2, it2, iu2, ik2; ibt = NUM2INT(bt); ikt = NUM2INT(kt); CHECK_DOMAIN2(ikt, 0, 19); it = NUM2INT(t); CHECK_DOMAIN2(it, 0, 19); iu = NUM2INT(u); CHECK_DOMAIN2(iu, 0, 17); ik = NUM2INT(k); CHECK_DOMAIN2(ik, 0, 19); a = mayan_long_count_to_rd(ibt, ikt, it, iu, ik); rd_to_mayan_long_count(a, &ibt2, &ikt2, &it2, &iu2, &ik2); if (ibt != ibt2 || ikt != ikt2 || it != it2 || iu != iu2 || ik != ik2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.mayan_tzolkin_difference ⇒ Object
415 416 417 418 419 420 421 422 423 424 425 426 427 |
# File 'ext/calendrical/calendricalmodule.c', line 415 static VALUE calendrical_mayan_tzolkin_difference (VALUE obj, VALUE na1, VALUE nu1, VALUE na2, VALUE nu2) { int inu1, ina1, inu2, ina2, d; inu1 = NUM2INT(nu1); CHECK_DOMAIN2(inu1, 1, 13); ina1 = NUM2INT(na1); CHECK_DOMAIN2(ina1, 1, 20); inu2 = NUM2INT(nu2); CHECK_DOMAIN2(inu2, 1, 13); ina2 = NUM2INT(na2); CHECK_DOMAIN2(ina2, 1, 20); d = mayan_tzolkin_difference(ina1, inu1, ina2, inu2); return INT2NUM(d); } |
.mayan_tzolkin_on_or_before(na, nu, a) ⇒ Object
429 430 431 432 433 434 435 436 437 438 439 |
# File 'ext/calendrical/calendricalmodule.c', line 429 static VALUE calendrical_mayan_tzolkin_on_or_before(VALUE obj, VALUE na, VALUE nu, VALUE a) { int inu, ina, ia, d; inu = NUM2INT(nu); CHECK_DOMAIN2(inu, 1, 13); ina = NUM2INT(na); CHECK_DOMAIN2(ina, 1, 20); ia = NUM2INT(a); d = mayan_tzolkin_on_or_before(ina, inu, ia); return INT2NUM(d); } |
.mjd_to_jd(m) ⇒ Object
1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 |
# File 'ext/calendrical/calendricalmodule.c', line 1095 static VALUE calendrical_mjd_to_jd(VALUE obj, VALUE m) { int im, j; im = NUM2INT(m); j = mjd_to_jd(im); return INT2NUM(j); } |
.mjd_to_rd(m) ⇒ Object
1075 1076 1077 1078 1079 1080 1081 1082 1083 |
# File 'ext/calendrical/calendricalmodule.c', line 1075 static VALUE calendrical_mjd_to_rd(VALUE obj, VALUE m) { int im, a; im = NUM2INT(m); a = mjd_to_rd(im); return INT2NUM(a); } |
.nanakshahi_last_day_of_month(y, m) ⇒ Object
995 996 997 998 999 1000 1001 1002 1003 1004 |
# File 'ext/calendrical/calendricalmodule.c', line 995 static VALUE calendrical_nanakshahi_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); md = nanakshahi_last_day_of_month(iy, im); return INT2NUM(md); } |
.nanakshahi_leap_year(y) ⇒ Object
985 986 987 988 989 990 991 992 993 |
# File 'ext/calendrical/calendricalmodule.c', line 985 static VALUE calendrical_nanakshahi_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = nanakshahi_leap_year(iy); return INT2BOOL(l); } |
.nanakshahi_leap_year?(y) ⇒ Boolean
985 986 987 988 989 990 991 992 993 |
# File 'ext/calendrical/calendricalmodule.c', line 985 static VALUE calendrical_nanakshahi_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = nanakshahi_leap_year(iy); return INT2BOOL(l); } |
.nanakshahi_to_rd(y, m, md) ⇒ Object
1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 |
# File 'ext/calendrical/calendricalmodule.c', line 1006 static VALUE calendrical_nanakshahi_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 31); iy = NUM2INT(y); a = nanakshahi_to_rd(iy, im, imd); rd_to_nanakshahi(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.new_moon(d) ⇒ Object
575 576 577 578 579 580 581 582 |
# File 'ext/calendrical/calendricalmodule.c', line 575 static VALUE calendrical_new_moon(VALUE obj, VALUE d) { double n; n = new_moon(getfloat(d)); return rb_float_new(n); } |
.nicaean_rule_easter(y) ⇒ Object
320 321 322 323 324 325 326 327 328 |
# File 'ext/calendrical/calendricalmodule.c', line 320 static VALUE calendrical_nicaean_rule_easter(VALUE obj, VALUE y) { int iy, a; iy = NUM2INT(y); a = nicaean_rule_easter(iy); return INT2NUM(a); } |
.nth_kday(y, m, n, k) ⇒ Object
305 306 307 308 309 310 311 312 313 314 315 316 317 318 |
# File 'ext/calendrical/calendricalmodule.c', line 305 static VALUE calendrical_nth_kday(VALUE obj, VALUE y, VALUE m, VALUE n, VALUE k) { int iy, im, in, ik, b; in = NUM2INT(n); if (in < -5 || in == 0 || in > 5) rb_raise(rb_eArgError, "out of range"); ik = NUM2INT(k); CHECK_DOMAIN2(ik, 0, 6); im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); b = nth_kday(iy, im, in, ik); return INT2NUM(b); } |
.old_hindu_lunar_precedes ⇒ Object
594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 |
# File 'ext/calendrical/calendricalmodule.c', line 594 static VALUE calendrical_old_hindu_lunar_precedes (VALUE obj, VALUE y1, VALUE m1, VALUE l1, VALUE md1, VALUE y2, VALUE m2, VALUE l2, VALUE md2) { int iy1, im1, il1, imd1, iy2, im2, il2, imd2, d; im1 = NUM2INT(m1); CHECK_DOMAIN2(im1, 1, 12); il1 = BOOL2INT(l1); imd1 = NUM2INT(md1); CHECK_DOMAIN2(imd1, 1, 30); iy1 = NUM2INT(y1); im2 = NUM2INT(m2); CHECK_DOMAIN2(im2, 1, 12); il2 = BOOL2INT(l2); imd2 = NUM2INT(md2); CHECK_DOMAIN2(imd2, 1, 30); iy2 = NUM2INT(y2); d = old_hindu_lunar_precedes(iy1, im1, il1, imd1, iy2, im2, il2, imd2); return INT2BOOL(d); } |
.old_hindu_lunar_to_rd ⇒ Object
614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 |
# File 'ext/calendrical/calendricalmodule.c', line 614 static VALUE calendrical_old_hindu_lunar_to_rd (VALUE obj, VALUE y, VALUE m, VALUE l, VALUE md) { int iy, im, il, imd, a, iy2, im2, il2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); il = BOOL2INT(l); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 30); iy = NUM2INT(y); a = old_hindu_lunar_to_rd(iy, im, il, imd); rd_to_old_hindu_lunar(a, &iy2, &im2, &il2, &imd2); if (im != im2 || il != il2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.old_hindu_solar_to_rd(y, m, md) ⇒ Object
542 543 544 545 546 547 548 549 550 551 552 553 554 555 |
# File 'ext/calendrical/calendricalmodule.c', line 542 static VALUE calendrical_old_hindu_solar_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 31); iy = NUM2INT(y); a = old_hindu_solar_to_rd(iy, im, imd); rd_to_old_hindu_solar(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.ordinal_to_rd(y, yd) ⇒ Object
1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 |
# File 'ext/calendrical/calendricalmodule.c', line 1031 static VALUE calendrical_ordinal_to_rd(VALUE obj, VALUE y, VALUE yd) { int iy, iyd, a, iy2, iyd2; iyd = NUM2INT(yd); CHECK_DOMAIN2(iyd, 1, 366); iy = NUM2INT(y); a = ordinal_to_rd(iy, iyd); rd_to_ordinal(a, &iy2, &iyd2); if (iyd != iyd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.rd_to_bahai(a) ⇒ Object
861 862 863 864 865 866 867 868 869 |
# File 'ext/calendrical/calendricalmodule.c', line 861 static VALUE calendrical_rd_to_bahai(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_bahai(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_bengali(a) ⇒ Object
975 976 977 978 979 980 981 982 983 |
# File 'ext/calendrical/calendricalmodule.c', line 975 static VALUE calendrical_rd_to_bengali(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_bengali(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_coptic(a) ⇒ Object
723 724 725 726 727 728 729 730 731 |
# File 'ext/calendrical/calendricalmodule.c', line 723 static VALUE calendrical_rd_to_coptic(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_coptic(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_day_of_week(a) ⇒ Object
1136 1137 1138 1139 1140 1141 1142 1143 1144 |
# File 'ext/calendrical/calendricalmodule.c', line 1136 static VALUE calendrical_rd_to_day_of_week(VALUE obj, VALUE a) { int ia, w; ia = NUM2INT(a); w = rd_to_day_of_week(ia); return INT2NUM(w); } |
.rd_to_ethiopian(a) ⇒ Object
769 770 771 772 773 774 775 776 777 |
# File 'ext/calendrical/calendricalmodule.c', line 769 static VALUE calendrical_rd_to_ethiopian(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_ethiopian(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_french(a) ⇒ Object
492 493 494 495 496 497 498 499 500 |
# File 'ext/calendrical/calendricalmodule.c', line 492 static VALUE calendrical_rd_to_french(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_french(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_gregorian(a) ⇒ Object
71 72 73 74 75 76 77 78 79 |
# File 'ext/calendrical/calendricalmodule.c', line 71 static VALUE calendrical_rd_to_gregorian(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_gregorian(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_hebrew(a) ⇒ Object
295 296 297 298 299 300 301 302 303 |
# File 'ext/calendrical/calendricalmodule.c', line 295 static VALUE calendrical_rd_to_hebrew(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_hebrew(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_indian_national(a) ⇒ Object
929 930 931 932 933 934 935 936 937 |
# File 'ext/calendrical/calendricalmodule.c', line 929 static VALUE calendrical_rd_to_indian_national(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_indian_national(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_islamic(a) ⇒ Object
199 200 201 202 203 204 205 206 207 |
# File 'ext/calendrical/calendricalmodule.c', line 199 static VALUE calendrical_rd_to_islamic(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_islamic(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_iso(a) ⇒ Object
107 108 109 110 111 112 113 114 115 |
# File 'ext/calendrical/calendricalmodule.c', line 107 static VALUE calendrical_rd_to_iso(VALUE obj, VALUE a) { int ia, y, w, wd; ia = NUM2INT(a); rd_to_iso(ia, &y, &w, &wd); return rb_ary_new3(3, INT2NUM(y), INT2NUM(w), INT2NUM(wd)); } |
.rd_to_jalali(a) ⇒ Object
815 816 817 818 819 820 821 822 823 |
# File 'ext/calendrical/calendricalmodule.c', line 815 static VALUE calendrical_rd_to_jalali(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_jalali(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_jd(a) ⇒ Object
1065 1066 1067 1068 1069 1070 1071 1072 1073 |
# File 'ext/calendrical/calendricalmodule.c', line 1065 static VALUE calendrical_rd_to_jd(VALUE obj, VALUE a) { int ia, j; ia = NUM2INT(a); j = rd_to_jd(ia); return INT2NUM(j); } |
.rd_to_julian(a) ⇒ Object
153 154 155 156 157 158 159 160 161 |
# File 'ext/calendrical/calendricalmodule.c', line 153 static VALUE calendrical_rd_to_julian(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_julian(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_kyureki(a) ⇒ Object
1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 |
# File 'ext/calendrical/calendricalmodule.c', line 1169 static VALUE calendrical_rd_to_kyureki(VALUE obj, VALUE a) { int ia, j; QDATE q; ia = NUM2INT(a); CHECK_DOMAIN2(ia, 162193, 767009); j = rd_to_jd(ia); qref(j, &q); if (q.j == 0) rb_raise(rb_eArgError, "invalid date"); return rb_ary_new3 (4, INT2NUM(q.y), INT2NUM(q.m), INT2BOOL(q.leap), INT2NUM(q.md)); } |
.rd_to_kyureki_day_of_week(a) ⇒ Object
1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 |
# File 'ext/calendrical/calendricalmodule.c', line 1184 static VALUE calendrical_rd_to_kyureki_day_of_week(VALUE obj, VALUE a) { int ia, j; QDATE q; ia = NUM2INT(a); j = rd_to_jd(ia); qref(j, &q); if (q.j == 0) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(q.wd); } |
.rd_to_ld(a) ⇒ Object
1126 1127 1128 1129 1130 1131 1132 1133 1134 |
# File 'ext/calendrical/calendricalmodule.c', line 1126 static VALUE calendrical_rd_to_ld(VALUE obj, VALUE a) { int ia, l; ia = NUM2INT(a); l = rd_to_ld(ia); return INT2NUM(l); } |
.rd_to_mayan_haab(a) ⇒ Object
369 370 371 372 373 374 375 376 377 |
# File 'ext/calendrical/calendricalmodule.c', line 369 static VALUE calendrical_rd_to_mayan_haab(VALUE obj, VALUE a) { int ia, md, m; ia = NUM2INT(a); rd_to_mayan_haab(ia, &m, &md); return rb_ary_new3(2, INT2NUM(m), INT2NUM(md)); } |
.rd_to_mayan_long_count(a) ⇒ Object
358 359 360 361 362 363 364 365 366 367 |
# File 'ext/calendrical/calendricalmodule.c', line 358 static VALUE calendrical_rd_to_mayan_long_count(VALUE obj, VALUE a) { int ia, bt, kt, t, u, k; ia = NUM2INT(a); rd_to_mayan_long_count(ia, &bt, &kt, &t, &u, &k); return rb_ary_new3 (5, INT2NUM(bt), INT2NUM(kt), INT2NUM(t), INT2NUM(u), INT2NUM(k)); } |
.rd_to_mayan_tzolkin(a) ⇒ Object
405 406 407 408 409 410 411 412 413 |
# File 'ext/calendrical/calendricalmodule.c', line 405 static VALUE calendrical_rd_to_mayan_tzolkin(VALUE obj, VALUE a) { int ia, nu, na; ia = NUM2INT(a); rd_to_mayan_tzolkin(ia, &na, &nu); return rb_ary_new3(2, INT2NUM(na), INT2NUM(nu)); } |
.rd_to_mjd(a) ⇒ Object
1085 1086 1087 1088 1089 1090 1091 1092 1093 |
# File 'ext/calendrical/calendricalmodule.c', line 1085 static VALUE calendrical_rd_to_mjd(VALUE obj, VALUE a) { int ia, m; ia = NUM2INT(a); m = rd_to_mjd(ia); return INT2NUM(m); } |
.rd_to_nanakshahi(a) ⇒ Object
1021 1022 1023 1024 1025 1026 1027 1028 1029 |
# File 'ext/calendrical/calendricalmodule.c', line 1021 static VALUE calendrical_rd_to_nanakshahi(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_nanakshahi(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_old_hindu_lunar(a) ⇒ Object
584 585 586 587 588 589 590 591 592 |
# File 'ext/calendrical/calendricalmodule.c', line 584 static VALUE calendrical_rd_to_old_hindu_lunar(VALUE obj, VALUE a) { int ia, y, m, l, md; ia = NUM2INT(a); rd_to_old_hindu_lunar(ia, &y, &m, &l, &md); return rb_ary_new3(4, INT2NUM(y), INT2NUM(m), INT2BOOL(l), INT2NUM(md)); } |
.rd_to_old_hindu_solar(a) ⇒ Object
532 533 534 535 536 537 538 539 540 |
# File 'ext/calendrical/calendricalmodule.c', line 532 static VALUE calendrical_rd_to_old_hindu_solar(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_old_hindu_solar(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_ordinal(a) ⇒ Object
1045 1046 1047 1048 1049 1050 1051 1052 1053 |
# File 'ext/calendrical/calendricalmodule.c', line 1045 static VALUE calendrical_rd_to_ordinal(VALUE obj, VALUE a) { int ia, y, yd; ia = NUM2INT(a); rd_to_ordinal(ia, &y, &yd); return rb_ary_new3(2, INT2NUM(y), INT2NUM(yd)); } |
.rd_to_week_date(a) ⇒ Object
107 108 109 110 111 112 113 114 115 |
# File 'ext/calendrical/calendricalmodule.c', line 107 static VALUE calendrical_rd_to_iso(VALUE obj, VALUE a) { int ia, y, w, wd; ia = NUM2INT(a); rd_to_iso(ia, &y, &w, &wd); return rb_ary_new3(3, INT2NUM(y), INT2NUM(w), INT2NUM(wd)); } |
.rd_to_world(a) ⇒ Object
667 668 669 670 671 672 673 674 675 |
# File 'ext/calendrical/calendricalmodule.c', line 667 static VALUE calendrical_rd_to_world(VALUE obj, VALUE a) { int ia, y, m, md; ia = NUM2INT(a); rd_to_world(ia, &y, &m, &md); return rb_ary_new3(3, INT2NUM(y), INT2NUM(m), INT2NUM(md)); } |
.rd_to_world_day_of_week(a) ⇒ Object
677 678 679 680 681 682 683 684 685 |
# File 'ext/calendrical/calendricalmodule.c', line 677 static VALUE calendrical_rd_to_world_day_of_week(VALUE obj, VALUE a) { int ia, w; ia = NUM2INT(a); w = rd_to_world_day_of_week(ia); return INT2NUM(w); } |
.short_kislev(y) ⇒ Object
270 271 272 273 274 275 276 277 278 |
# File 'ext/calendrical/calendricalmodule.c', line 270 static VALUE calendrical_short_kislev(VALUE obj, VALUE y) { int iy, s; iy = NUM2INT(y); s = short_kislev(iy); return INT2BOOL(s); } |
.short_kislev?(y) ⇒ Boolean
270 271 272 273 274 275 276 277 278 |
# File 'ext/calendrical/calendricalmodule.c', line 270 static VALUE calendrical_short_kislev(VALUE obj, VALUE y) { int iy, s; iy = NUM2INT(y); s = short_kislev(iy); return INT2BOOL(s); } |
.solar_longitude(d) ⇒ Object
514 515 516 517 518 519 520 521 |
# File 'ext/calendrical/calendricalmodule.c', line 514 static VALUE calendrical_solar_longitude(VALUE obj, VALUE d) { double l; l = solar_longitude(getfloat(d)); return rb_float_new(l); } |
.week_date_to_rd(y, w, wd) ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'ext/calendrical/calendricalmodule.c', line 92 static VALUE calendrical_iso_to_rd(VALUE obj, VALUE y, VALUE w, VALUE wd) { int iy, iw, iwd, a, iy2, iw2, iwd2; iw = NUM2INT(w); CHECK_DOMAIN2(iw, 1, 53); iwd = NUM2INT(wd); CHECK_DOMAIN2(iwd, 1, 7); iy = NUM2INT(y); a = iso_to_rd(iy, iw, iwd); rd_to_iso(a, &iy2, &iw2, &iwd2); if (iw != iw2 || iwd != iwd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.world_last_day_of_month(y, m) ⇒ Object
641 642 643 644 645 646 647 648 649 650 |
# File 'ext/calendrical/calendricalmodule.c', line 641 static VALUE calendrical_world_last_day_of_month(VALUE obj, VALUE y, VALUE m) { int iy, im, md; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); iy = NUM2INT(y); md = world_last_day_of_month(iy, im); return INT2NUM(md); } |
.world_leap_year(y) ⇒ Object
631 632 633 634 635 636 637 638 639 |
# File 'ext/calendrical/calendricalmodule.c', line 631 static VALUE calendrical_world_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = world_leap_year(iy); return INT2BOOL(l); } |
.world_leap_year?(y) ⇒ Boolean
631 632 633 634 635 636 637 638 639 |
# File 'ext/calendrical/calendricalmodule.c', line 631 static VALUE calendrical_world_leap_year(VALUE obj, VALUE y) { int iy, l; iy = NUM2INT(y); l = world_leap_year(iy); return INT2BOOL(l); } |
.world_to_rd(y, m, md) ⇒ Object
652 653 654 655 656 657 658 659 660 661 662 663 664 665 |
# File 'ext/calendrical/calendricalmodule.c', line 652 static VALUE calendrical_world_to_rd(VALUE obj, VALUE y, VALUE m, VALUE md) { int iy, im, imd, a, iy2, im2, imd2; im = NUM2INT(m); CHECK_DOMAIN2(im, 1, 12); imd = NUM2INT(md); CHECK_DOMAIN2(imd, 1, 31); iy = NUM2INT(y); a = world_to_rd(iy, im, imd); rd_to_world(a, &iy2, &im2, &imd2); if (im != im2 || imd != imd2 || iy != iy2) rb_raise(rb_eArgError, "invalid date"); return INT2NUM(a); } |
.zodiac(d) ⇒ Object
523 524 525 526 527 528 529 530 |
# File 'ext/calendrical/calendricalmodule.c', line 523 static VALUE calendrical_zodiac(VALUE obj, VALUE d) { double l; l = zodiac(getfloat(d)); return rb_float_new(l); } |