diff options
Diffstat (limited to 'spec/rubyspec/optional/capi/ext/fixnum_spec.c')
-rw-r--r-- | spec/rubyspec/optional/capi/ext/fixnum_spec.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/spec/rubyspec/optional/capi/ext/fixnum_spec.c b/spec/rubyspec/optional/capi/ext/fixnum_spec.c new file mode 100644 index 0000000000..4c0572186d --- /dev/null +++ b/spec/rubyspec/optional/capi/ext/fixnum_spec.c @@ -0,0 +1,36 @@ +#include "ruby.h" +#include "rubyspec.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef HAVE_RB_FIX2UINT +static VALUE fixnum_spec_rb_fix2uint(VALUE self, VALUE value) { + return INT2FIX(rb_fix2uint(value)); +} +#endif + +#ifdef HAVE_RB_FIX2INT +static VALUE fixnum_spec_rb_fix2int(VALUE self, VALUE value) { + return INT2FIX(rb_fix2int(value)); +} +#endif + + +void Init_fixnum_spec(void) { + VALUE cls; + cls = rb_define_class("CApiFixnumSpecs", rb_cObject); + +#ifdef HAVE_RB_FIX2UINT + rb_define_method(cls, "rb_fix2uint", fixnum_spec_rb_fix2uint, 1); +#endif + +#ifdef HAVE_RB_FIX2INT + rb_define_method(cls, "rb_fix2int", fixnum_spec_rb_fix2int, 1); +#endif +} + +#ifdef __cplusplus +} +#endif |