From 86cfcd20d60b8314200062d1f5abd59b77ee7ff7 Mon Sep 17 00:00:00 2001 From: cremno Date: Sun, 4 May 2014 01:50:17 +0200 Subject: simply use `isfinite` --- src/numeric.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/numeric.c') diff --git a/src/numeric.c b/src/numeric.c index 4c955a61e..56835edbf 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -309,7 +309,7 @@ flodivmod(mrb_state *mrb, mrb_float x, mrb_float y, mrb_float *divp, mrb_float * } else { mod = fmod(x, y); - if (isinf(x) && !isinf(y) && !isnan(y)) + if (isinf(x) && isfinite(y)) div = x; else div = (x - mod) / y; @@ -495,7 +495,7 @@ flo_finite_p(mrb_state *mrb, mrb_value num) { mrb_float value = mrb_float(num); - return mrb_bool_value(!(isinf(value) || isnan(value))); + return mrb_bool_value(isfinite(value)); } /* 15.2.9.3.10 */ @@ -626,7 +626,7 @@ flo_round(mrb_state *mrb, mrb_value num) } if (ndigits > 0) { - if (isinf(number) || isnan(number)) return num; + if (!isfinite(number)) return num; return mrb_float_value(mrb, number); } return mrb_fixnum_value((mrb_int)number); -- cgit v1.2.3