From 129e5a6c21047f94d9ce56ea779ef88f154c51f7 Mon Sep 17 00:00:00 2001 From: Jun Hiroe Date: Sat, 3 May 2014 01:13:43 +0900 Subject: Refactor rshift --- src/numeric.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/numeric.c b/src/numeric.c index 46b3cdf37..4c955a61e 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -980,17 +980,11 @@ rshift(mrb_int val, mrb_int width) mrb_assert(width >= 0); if (width >= NUMERIC_SHIFT_WIDTH_MAX) { if (val < 0) { - val = -1; - } - else { - val = 0; + return mrb_fixnum_value(-1); } + return mrb_fixnum_value(0); } - else { - val = val >> width; - } - - return mrb_fixnum_value(val); + return mrb_fixnum_value(val >> width); } static inline void -- cgit v1.2.3