Simplify `mrb_num_div_int()`.

parent 3107d1ca
......@@ -118,23 +118,12 @@ mrb_num_div_int(mrb_state *mrb, mrb_int x, mrb_int y)
int_overflow(mrb, "division");
}
else {
mrb_int div, mod;
mrb_int div = x / y;
if (y < 0) {
if (x < 0)
div = -x / -y;
else
div = - (x / -y);
}
else {
if (x < 0)
div = - (-x / y);
else
div = x / y;
}
mod = x - div * y;
if ((mod < 0 && y > 0) || (mod > 0 && y < 0)) {
div -= 1;
if (div < 0) {
if (x != div * y) {
div -= 1;
}
}
return div;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment