This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/16353] expm1 missing underflows
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Mon, 22 Jun 2015 21:07:28 +0000
- Subject: [Bug math/16353] expm1 missing underflows
- Auto-submitted: auto-generated
- References: <bug-16353-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16353
--- Comment #9 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 554edb23ffc7a953ca86309cc5f02dbd1a63abe0 (commit)
from 6b142b3a1d007d7e6f50c26710de7177bc4aca74 (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=554edb23ffc7a953ca86309cc5f02dbd1a63abe0
commit 554edb23ffc7a953ca86309cc5f02dbd1a63abe0
Author: Joseph Myers <joseph@codesourcery.com>
Date: Mon Jun 22 21:06:19 2015 +0000
Fix expm1 missing underflows (bug 16353).
Similar to various other bugs in this area, some expm1 implementations
do not raise the underflow exception for subnormal arguments, when the
result is tiny and inexact. This patch forces the exception in a
similar way to previous fixes.
(The issue does not apply to the ldbl-* implementations or to those
for x86 / x86_64 long double. The change to
sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c is one I missed when
previously fixing bug 16354; the bug in that implementation was
previously latent, but the expm1 fixes stopped it being latent and so
required it to be fixed to avoid spurious underflows from cosh.)
Tested for x86_64 and x86.
[BZ #16353]
* sysdeps/i386/fpu/s_expm1.S (dbl_min): New object.
(__expm1): Force underflow exception for arguments with small
absolute value.
* sysdeps/i386/fpu/s_expm1f.S (flt_min): New object.
(__expm1f): Force underflow exception for arguments with small
absolute value.
* sysdeps/ieee754/dbl-64/s_expm1.c: Include <float.h>.
(__expm1): Force underflow exception for arguments with small
absolute value.
* sysdeps/ieee754/flt-32/s_expm1f.c: Include <float.h>.
(__expm1f): Force underflow exception for arguments with small
absolute value.
* sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c (__ieee754_cosh):
Check for small arguments before calling __expm1.
* math/auto-libm-test-in: Do not mark underflow exceptions as
possibly missing for bug 16353.
* math/auto-libm-test-out: Regenerated.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 21 +++
NEWS | 28 ++--
math/auto-libm-test-in | 11 +-
math/auto-libm-test-out | 226 +++++++++++++-------------
sysdeps/i386/fpu/s_expm1.S | 22 +++
sysdeps/i386/fpu/s_expm1f.S | 22 +++
sysdeps/ieee754/dbl-64/s_expm1.c | 6 +
sysdeps/ieee754/dbl-64/wordsize-64/e_cosh.c | 3 +-
sysdeps/ieee754/flt-32/s_expm1f.c | 6 +
9 files changed, 211 insertions(+), 134 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.