summaryrefslogtreecommitdiffhomepage
path: root/src/numeric.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2019-07-31 00:55:31 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2019-07-31 00:55:31 +0900
commit28405d26b09c9f9b233b56221eeca1adcaa2822a (patch)
tree790545faf3152356d6afcd7f758beb12ed0173aa /src/numeric.c
parent8175d92b4bd8c641ac45fa10417e60da930164dd (diff)
downloadmruby-28405d26b09c9f9b233b56221eeca1adcaa2822a.tar.gz
mruby-28405d26b09c9f9b233b56221eeca1adcaa2822a.zip
Should return +/- infinity for float division by zero.
Diffstat (limited to 'src/numeric.c')
-rw-r--r--src/numeric.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/numeric.c b/src/numeric.c
index 744426c67..92e98a8a7 100644
--- a/src/numeric.c
+++ b/src/numeric.c
@@ -901,6 +901,8 @@ fix_mod(mrb_state *mrb, mrb_value x)
/* ZeroDivisionError */
return mrb_fixnum_value(0);
#else
+ if (a > 0) return mrb_float_value(mrb, INFINITY);
+ if (a < 0) return mrb_float_value(mrb, INFINITY);
return mrb_float_value(mrb, NAN);
#endif
}