mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Simplify mrb_num_div_int().
This commit is contained in:
+5
-16
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user