diff options
Diffstat (limited to 'spec/ruby/optional/capi/ext/numeric_spec.c')
-rw-r--r-- | spec/ruby/optional/capi/ext/numeric_spec.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/spec/ruby/optional/capi/ext/numeric_spec.c b/spec/ruby/optional/capi/ext/numeric_spec.c index 2f0f504549..0b7fbabd1c 100644 --- a/spec/ruby/optional/capi/ext/numeric_spec.c +++ b/spec/ruby/optional/capi/ext/numeric_spec.c @@ -5,6 +5,10 @@ extern "C" { #endif +static VALUE numeric_spec_size_of_VALUE(VALUE self) { + return INT2FIX(sizeof(VALUE)); +} + #ifdef HAVE_NUM2CHR static VALUE numeric_spec_NUM2CHR(VALUE self, VALUE value) { return INT2FIX(NUM2CHR(value)); @@ -17,6 +21,16 @@ static VALUE numeric_spec_rb_int2inum_14(VALUE self) { } #endif +#ifdef HAVE_RB_UINT2INUM +static VALUE numeric_spec_rb_uint2inum_14(VALUE self) { + return rb_uint2inum(14); +} + +static VALUE numeric_spec_rb_uint2inum_n14(VALUE self) { + return rb_uint2inum(-14); +} +#endif + #ifdef HAVE_RB_INTEGER static VALUE numeric_spec_rb_Integer(VALUE self, VALUE str) { return rb_Integer(str); @@ -106,6 +120,8 @@ void Init_numeric_spec(void) { VALUE cls; cls = rb_define_class("CApiNumericSpecs", rb_cObject); + rb_define_method(cls, "size_of_VALUE", numeric_spec_size_of_VALUE, 0); + #ifdef HAVE_NUM2CHR rb_define_method(cls, "NUM2CHR", numeric_spec_NUM2CHR, 1); #endif @@ -114,6 +130,11 @@ void Init_numeric_spec(void) { rb_define_method(cls, "rb_int2inum_14", numeric_spec_rb_int2inum_14, 0); #endif +#ifdef HAVE_RB_UINT2INUM + rb_define_method(cls, "rb_uint2inum_14", numeric_spec_rb_uint2inum_14, 0); + rb_define_method(cls, "rb_uint2inum_n14", numeric_spec_rb_uint2inum_n14, 0); +#endif + #ifdef HAVE_RB_INTEGER rb_define_method(cls, "rb_Integer", numeric_spec_rb_Integer, 1); #endif |