From 558b9d05b2c940ce3ffab1567cd1e050e1cf2f75 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 8 Jul 2016 05:38:16 +0000 Subject: numeric.c: round as double * numeric.c (flo_round): compare as double, not long double with i387. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- numeric.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'numeric.c') diff --git a/numeric.c b/numeric.c index b806ceca3c..af57ccdfc7 100644 --- a/numeric.c +++ b/numeric.c @@ -2007,10 +2007,10 @@ flo_round(int argc, VALUE *argv, VALUE num) f = pow(10, ndigits); x = round(number * f); if (x > 0) { - if ((x + 0.5) / f <= number) x += 1; + if ((double)((x + 0.5) / f) <= number) x += 1; } else { - if ((x - 0.5) / f >= number) x -= 1; + if ((double)((x - 0.5) / f) >= number) x -= 1; } return DBL2NUM(x / f); } -- cgit v1.2.3