summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index 48dea94fb..068d1a977 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -2320,8 +2320,17 @@ RETRY_TRY_BLOCK:
}
break;
#else
+ #ifdef MRB_INTEGER_DIVISION
+ {
+ mrb_int x = mrb_fixnum(regs[a]);
+ mrb_int y = mrb_fixnum(regs[a+1]);
+ SET_INT_VALUE(regs[a], y ? x / y : 0);
+ NEXT;
+ }
+ #else
x = (mrb_float)mrb_fixnum(regs[a]);
y = (mrb_float)mrb_fixnum(regs[a+1]);
+ #endif
break;
case TYPES2(MRB_TT_FIXNUM,MRB_TT_FLOAT):
x = (mrb_float)mrb_fixnum(regs[a]);