From a57a9bce79b7512f1e0e08149c0a328a993b3e1b Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 24 Jul 2019 10:43:24 +0900 Subject: Call `MRB_SET_INSTANCE_TT` for `Complex` and `Rational`. --- mrbgems/mruby-rational/src/rational.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'mrbgems/mruby-rational/src') diff --git a/mrbgems/mruby-rational/src/rational.c b/mrbgems/mruby-rational/src/rational.c index 31471e934..09bd68003 100644 --- a/mrbgems/mruby-rational/src/rational.c +++ b/mrbgems/mruby-rational/src/rational.c @@ -183,10 +183,13 @@ void mrb_mruby_rational_gem_init(mrb_state *mrb) { struct RClass *rat; -#ifdef COMPLEX_USE_RATIONAL + rat = mrb_define_class(mrb, "Rational", mrb_class_get(mrb, "Numeric")); +#ifdef RATIONAL_USE_ISTRUCT + MRB_SET_INSTANCE_TT(rat, MRB_TT_ISTRUCT); mrb_assert(sizeof(struct mrb_rational) < ISTRUCT_DATA_SIZE); +#else + MRB_SET_INSTANCE_TT(rat, MRB_TT_DATA); #endif - rat = mrb_define_class(mrb, "Rational", mrb_class_get(mrb, "Numeric")); mrb_undef_class_method(mrb, rat, "new"); mrb_define_class_method(mrb, rat, "_new", rational_s_new, MRB_ARGS_REQ(2)); mrb_define_method(mrb, rat, "numerator", rational_numerator, MRB_ARGS_NONE()); -- cgit v1.2.3