diff options
Diffstat (limited to 'src/numeric.c')
| -rw-r--r-- | src/numeric.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/numeric.c b/src/numeric.c index dc763b7ff..fec79ffd1 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -610,7 +610,9 @@ flo_shift(mrb_state *mrb, mrb_value x, mrb_int width) val *= 2; } } - return mrb_int_value(mrb, (mrb_int)val); + if (FIXABLE_FLOAT(val)) + return mrb_int_value(mrb, (mrb_int)val); + return mrb_float_value(mrb, val); } static mrb_value |
