Module: Calendrical
- Defined in:
- ext/calendrical/calendricalmodule.c
Constant Summary collapse
- VERSION =
rb_obj_freeze(rb_str_new2("$Revision: 1.17 $"))
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);
}
|