This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/16560] spurious underflow exception from exp2/exp10
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 27 Mar 2014 18:42:16 +0000
- Subject: [Bug math/16560] spurious underflow exception from exp2/exp10
- Auto-submitted: auto-generated
- References: <bug-16560-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16560
--- Comment #5 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 03a7091fa2afc84e215fc99fceca52baa4b0f8f1 (commit)
from dd3022d75e6fb8957843d6d84257a5d8457822d5 (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=03a7091fa2afc84e215fc99fceca52baa4b0f8f1
commit 03a7091fa2afc84e215fc99fceca52baa4b0f8f1
Author: Joseph Myers <joseph@codesourcery.com>
Date: Thu Mar 27 18:41:14 2014 +0000
Fix x86/x86_64 expl/exp10l spurious underflows (bug 16348).
This patch fixes bug 16348, spurious underflows from x86/x86_64 expl
on arguments close to 0. These implementations effectively use expm1
(on the fractional part of the argument) internally, so resulting in
spurious underflows when the result is very close to 1. For arguments
small enough that the round-to-nearest correct result is 1, this patch
uses 1+x instead.
These implementations are also used for exp10l and so the patch fixes
similar issues there (the 0x1p-67 threshold being small enough to be
correct for exp10l as well as expl). But because of spurious
underflows in other exp10 implementations (bug 16560), the tests
aren't added for exp10 at this point - they can be added when the
other exp10 parts of that bug are fixed.
Tested x86_64 and x86; no ulps updates needed.
[BZ #16348]
* sysdeps/i386/fpu/e_expl.S (IEEE754_EXPL) [!USE_AS_EXPM1L]: Use
1+x for argument with exponent below -67.
* sysdeps/x86_64/fpu/e_expl.S (IEEE754_EXPL) [!USE_AS_EXPM1L]:
Likewise.
* math/auto-libm-test-in: Add more tests of exp.
* math/auto-libm-test-out: Regenerated.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 10 +
NEWS | 10 +-
math/auto-libm-test-in | 18 ++
math/auto-libm-test-out | 666 +++++++++++++++++++++++++++++++++++++++++++
sysdeps/i386/fpu/e_expl.S | 10 +-
sysdeps/x86_64/fpu/e_expl.S | 10 +-
6 files changed, 715 insertions(+), 9 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.