summaryrefslogtreecommitdiffhomepage
path: root/src/numeric.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-08-27 18:12:48 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-10-12 18:20:06 +0900
commitbf118b90064ad41412f918458f8082c7e0e14bce (patch)
tree59253e8e4895f9637d7a75d0ead45150b541a0e8 /src/numeric.c
parent7e3d22f09569b920c8e3dd31d7a0d03e925a06cc (diff)
downloadmruby-bf118b90064ad41412f918458f8082c7e0e14bce.tar.gz
mruby-bf118b90064ad41412f918458f8082c7e0e14bce.zip
Stop warning on 64 bit platforms.
Diffstat (limited to 'src/numeric.c')
-rw-r--r--src/numeric.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/numeric.c b/src/numeric.c
index f6c2c57a1..f1b06ded4 100644
--- a/src/numeric.c
+++ b/src/numeric.c
@@ -121,9 +121,13 @@ int_div(mrb_state *mrb, mrb_value xv)
mrb_get_args(mrb, "o", &yv);
if (mrb_float_p(yv)) {
double d = mrb_integer(xv)/mrb_float(yv);
+#ifdef MRB_INT32
if (MRB_INT_MIN <= d && d <= MRB_INT_MAX)
return mrb_int_value(mrb, (mrb_int)d);
return mrb_float_value(mrb, d);
+#else
+ return mrb_int_value(mrb, (mrb_int)d);
+#endif
}
else
#endif
@@ -206,9 +210,13 @@ flo_idiv(mrb_state *mrb, mrb_value x)
mrb_get_args(mrb, "f", &y);
y = mrb_to_flo(mrb, x) / y;
+#ifdef MRB_INT32
if (MRB_INT_MIN <= y && y <= MRB_INT_MAX)
return mrb_int_value(mrb, (mrb_int)y);
return mrb_float_value(mrb, y);
+#else
+ return mrb_int_value(mrb, (mrb_int)y);
+#endif
}
static mrb_value