From 277be410f31efc1dfa6e2d4bcc56b9c21b300bc6 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 20 Jul 2019 02:57:36 +0900 Subject: No rounding needed if 'ndigits` is bigger than `DBL_DIG+2`; fix #4566 --- src/numeric.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/numeric.c b/src/numeric.c index 4288df44a..a1299a74f 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -702,6 +702,7 @@ flo_round(mrb_state *mrb, mrb_value num) f = 1.0; i = ndigits >= 0 ? ndigits : -ndigits; + if (ndigits > DBL_DIG+2) return num; while (--i >= 0) f = f*10.0; -- cgit v1.2.3