summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vm.c b/src/vm.c
index 52510c98d..e82806e4d 100644
--- a/src/vm.c
+++ b/src/vm.c
@@ -7,6 +7,7 @@
#include <setjmp.h>
#include <stddef.h>
#include <stdarg.h>
+#include <math.h>
#include "mruby.h"
#include "mruby/array.h"
#include "mruby/class.h"
@@ -1712,6 +1713,11 @@ mrb_context_run(mrb_state *mrb, struct RProc *proc, mrb_value self, unsigned int
default:
goto L_SEND;
}
+#ifdef MRB_NAN_BOXING
+ if (isnan(regs[a].attr_f)) {
+ regs[a] = mrb_float_value(mrb, regs[a].attr_f);
+ }
+#endif
NEXT;
}