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, 12 Feb 2015 19:03:53 +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 #8 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 03d95bd48319256bd29cfaece45919fc58bf56cc (commit)
from 98408b95b155464e760c22dce4842f29499db821 (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=03d95bd48319256bd29cfaece45919fc58bf56cc
commit 03d95bd48319256bd29cfaece45919fc58bf56cc
Author: Joseph Myers <joseph@codesourcery.com>
Date: Thu Feb 12 19:02:45 2015 +0000
Fix exp2 spurious underflows (bug 16560).
This patch fixes the remaining part of bug 16560, spurious underflows
from exp2 of arguments close to 0 (when the result is close to 1, so
should not underflow), by just using 1+x instead of a more complicated
calculation when the argument is sufficiently small.
Tested for x86_64, x86 and mips64.
[BZ #16560]
* math/e_exp2l.c [LDBL_MANT_DIG == 106] (LDBL_EPSILON): Undefine
and redefine.
(__ieee754_exp2l): Do not multiply small fractional parts by
M_LN2l.
* sysdeps/i386/fpu/e_exp2l.S (__ieee754_exp2l): Just add 1 to
small argument.
* sysdeps/ieee754/dbl-64/e_exp2.c (__ieee754_exp2): Likewise.
* sysdeps/ieee754/flt-32/e_exp2f.c (__ieee754_exp2f): Likewise.
* sysdeps/x86_64/fpu/e_exp2l.S (__ieee754_exp2l): Likewise.
* math/auto-libm-test-in: Add more tests of exp2.
* math/auto-libm-test-out: Regenerated.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 15 +
NEWS | 2 +-
math/auto-libm-test-in | 18 +
math/auto-libm-test-out | 666 ++++++++++++++++++++++++++++++++++++++
math/e_exp2l.c | 9 +
sysdeps/i386/fpu/e_exp2l.S | 10 +-
sysdeps/ieee754/dbl-64/e_exp2.c | 3 +
sysdeps/ieee754/flt-32/e_exp2f.c | 3 +
sysdeps/x86_64/fpu/e_exp2l.S | 10 +-
9 files changed, 733 insertions(+), 3 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.