[Bug libc/18247] strtof is not correctly rounded for 2^-150+eps
cvs-commit at gcc dot gnu.org
sourceware-bugzilla@sourceware.org
Fri Apr 10 20:46:00 GMT 2015
https://sourceware.org/bugzilla/show_bug.cgi?id=18247
--- Comment #1 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot gnu.org> ---
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".
The branch, master has been updated
via 5556d30caee170384553d2ae3247ec77a66b9ae8 (commit)
from b3c66c534f8a9dbee44aa4983814fc52008f0323 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5556d30caee170384553d2ae3247ec77a66b9ae8
commit 5556d30caee170384553d2ae3247ec77a66b9ae8
Author: Joseph Myers <joseph@codesourcery.com>
Date: Fri Apr 10 20:45:30 2015 +0000
Fix strtof decimal rounding close to half least subnormal (bug 18247).
Bug 18247 is an off-by-one error in strtof's determination of a
decimal exponent such that any value with that decimal exponent is at
most half the least subnormal and so the appropriate underflowing
value for the rounding mode can be determined with no
multiple-precision computations. (Whether the value is in fact safe
despite the off-by-one depends on the floating-point format in
question. It's wrong for float and for m68k ldbl-96 but not for other
supported formats.) This patch corrects the computation of the
exponent in question to be safe in general, adding a comment
explaining the new computation.
Tested for x86_64.
[BZ #18247]
* stdlib/strtod_l.c (____STRTOF_INTERNAL): Decrease minimum
decimal exponent by 1.
* stdlib/tst-strtod-round-data: Add more tests.
* stdlib/tst-strtod-round.c (tests): Regenerated.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 8 +
NEWS | 2 +-
stdlib/strtod_l.c | 13 +-
stdlib/tst-strtod-round-data | 31 +
stdlib/tst-strtod-round.c | 4638 ++++++++++++++++++++++++++++++++++++++++++
5 files changed, 4689 insertions(+), 3 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list