On Sat, 27 Jan 2018 15:27:38 GMT, slaven@rezic.de wrote: > > This is a bug report for perl from slaven@rezic.de, > generated with the help of perlbug 1.41 running under perl 5.27.8. > > > ----------------------------------------------------------------- > t/008integerize.t started to fail with 5.27.8, and was OK until > 5.27.7 (sorry, I have no bisect result available): > > # Failed test 'rounding' > # at t/008integerize.t line 208. > # Comparing $data as a Bag > # Missing: 1 reference > # Extra: 1 reference > # Looks like you failed 1 test of 15. > t/008integerize.t ........ > Dubious, test returned 1 (wstat 256, 0x100) > Failed 1/15 subtests > > Bisection points to: ##### 60fa46621ae5d0d44c802aedc205274584701fa0 is the first bad commit commit 60fa46621ae5d0d44c802aedc205274584701fa0 Author: Zefram <zefram@fysh.org> Date: Fri Jan 19 05:05:07 2018 +0000 fix F0convert() on edge cases The F0convert() function used to implement the %.0f format specifier more cheaply went wrong on some edge cases. Its rounding went wrong when the exponent is such that fractional values are not representable, making the "+= 0.5" invoke floating point rounding. Fix that by only invoking that rounding logic for values that start out fractional. That fixes the output part of [perl #47602]. It also failed to emit the sign for negative zero. Fix that by making it not apply to zero values. :100644 100644 2c13b3b3338fefd5ae8740312f837449f017118f 6ad33c0bfc96572d236638441b089b042afcd43a M sv.c :040000 040000 c2d3748e4aa975205765013f0386fafa19372f7f 2aed33bffd807ca1eb42fa34df79406cbcec7730 M t bisect run success That took 2312 seconds. ##### Thank you very much. -- James E Keenan (jkeenan@cpan.org) --- via perlbug: queue: perl5 status: new https://rt.perl.org/Ticket/Display.html?id=132775Thread Next