From bf118b90064ad41412f918458f8082c7e0e14bce Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 27 Aug 2020 18:12:48 +0900 Subject: Stop warning on 64 bit platforms. --- src/numeric.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/numeric.c') 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 -- cgit v1.2.3