summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/numeric.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/numeric.c b/src/numeric.c
index ef9308aea..bda667280 100644
--- a/src/numeric.c
+++ b/src/numeric.c
@@ -980,8 +980,7 @@ lshift(mrb_state *mrb, mrb_int val, mrb_int width)
mrb_fixnum_value(width),
mrb_fixnum_value(NUMERIC_SHIFT_WIDTH_MAX));
}
- val = val << width;
- return mrb_fixnum_value(val);
+ return mrb_fixnum_value(val << width);
}
static mrb_value
@@ -1009,8 +1008,7 @@ fix_shift_get_width(mrb_state *mrb, mrb_int *width)
mrb_value y;
mrb_get_args(mrb, "o", &y);
- y = bit_coerce(mrb, y);
- *width = mrb_fixnum(y);
+ *width = mrb_fixnum(bit_coerce(mrb, y));
}
/* 15.2.8.3.12 */
@@ -1075,11 +1073,7 @@ fix_rshift(mrb_state *mrb, mrb_value x)
static mrb_value
fix_to_f(mrb_state *mrb, mrb_value num)
{
- mrb_float val;
-
- val = (mrb_float)mrb_fixnum(num);
-
- return mrb_float_value(mrb, val);
+ return mrb_float_value(mrb, (mrb_float)mrb_fixnum(num));
}
/*