diff options
Diffstat (limited to 'spec/ruby/optional/capi/ext/numeric_spec.c')
-rw-r--r-- | spec/ruby/optional/capi/ext/numeric_spec.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/ext/numeric_spec.c b/spec/ruby/optional/capi/ext/numeric_spec.c index 0b7fbabd1c..2f66c7bac7 100644 --- a/spec/ruby/optional/capi/ext/numeric_spec.c +++ b/spec/ruby/optional/capi/ext/numeric_spec.c @@ -9,6 +9,10 @@ static VALUE numeric_spec_size_of_VALUE(VALUE self) { return INT2FIX(sizeof(VALUE)); } +static VALUE numeric_spec_size_of_long_long(VALUE self) { + return INT2FIX(sizeof(LONG_LONG)); +} + #ifdef HAVE_NUM2CHR static VALUE numeric_spec_NUM2CHR(VALUE self, VALUE value) { return INT2FIX(NUM2CHR(value)); @@ -43,6 +47,16 @@ static VALUE numeric_spec_rb_ll2inum_14(VALUE self) { } #endif +#ifdef HAVE_RB_ULL2INUM +static VALUE numeric_spec_rb_ull2inum_14(VALUE self) { + return rb_ull2inum(14); +} + +static VALUE numeric_spec_rb_ull2inum_n14(VALUE self) { + return rb_ull2inum(-14); +} +#endif + #ifdef HAVE_RB_NUM2DBL static VALUE numeric_spec_rb_num2dbl(VALUE self, VALUE num) { return rb_float_new(rb_num2dbl(num)); @@ -121,6 +135,7 @@ void Init_numeric_spec(void) { cls = rb_define_class("CApiNumericSpecs", rb_cObject); rb_define_method(cls, "size_of_VALUE", numeric_spec_size_of_VALUE, 0); + rb_define_method(cls, "size_of_long_long", numeric_spec_size_of_long_long, 0); #ifdef HAVE_NUM2CHR rb_define_method(cls, "NUM2CHR", numeric_spec_NUM2CHR, 1); @@ -143,6 +158,11 @@ void Init_numeric_spec(void) { rb_define_method(cls, "rb_ll2inum_14", numeric_spec_rb_ll2inum_14, 0); #endif +#ifdef HAVE_RB_ULL2INUM + rb_define_method(cls, "rb_ull2inum_14", numeric_spec_rb_ull2inum_14, 0); + rb_define_method(cls, "rb_ull2inum_n14", numeric_spec_rb_ull2inum_n14, 0); +#endif + #ifdef HAVE_RB_NUM2DBL rb_define_method(cls, "rb_num2dbl", numeric_spec_rb_num2dbl, 1); #endif |