summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-rational/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-07-24 10:43:24 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2019-07-24 10:48:00 +0900
commita57a9bce79b7512f1e0e08149c0a328a993b3e1b (patch)
tree8a12990e9db4cfd8f4f2b2cc8bbae4d960227fd3 /mrbgems/mruby-rational/src
parente968bdf6298e6f2e567e414862792d5ad7aff4ad (diff)
downloadmruby-a57a9bce79b7512f1e0e08149c0a328a993b3e1b.tar.gz
mruby-a57a9bce79b7512f1e0e08149c0a328a993b3e1b.zip
Call `MRB_SET_INSTANCE_TT` for `Complex` and `Rational`.
Diffstat (limited to 'mrbgems/mruby-rational/src')
-rw-r--r--mrbgems/mruby-rational/src/rational.c7
1 files changed, 5 insertions, 2 deletions
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());