This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/16789] clog / clog10 sign of zero result incorrect in round-downward mode
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Wed, 02 Apr 2014 13:11:15 +0000
- Subject: [Bug math/16789] clog / clog10 sign of zero result incorrect in round-downward mode
- Auto-submitted: auto-generated
- References: <bug-16789-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=16789
--- 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 6f05bafebac30a389807979f8efbb709f84b486f (commit)
from b0abbc21034f0e5edc49023d8fda0616173faf17 (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=6f05bafebac30a389807979f8efbb709f84b486f
commit 6f05bafebac30a389807979f8efbb709f84b486f
Author: Joseph Myers <joseph@codesourcery.com>
Date: Wed Apr 2 13:10:19 2014 +0000
Fix clog / clog10 sign of zero result in round-downward mode (bug 16789).
This patch fixes bug 16789, incorrect sign of (real part) zero result
from clog and clog10 in round-downward mode, arising from that real
part being computed as 0 - 0. To ensure that an underflow exception
occurred, the code used an underflowing value (the next term in the
series for log1p) in arithmetic computing the real part of the result,
yielding the problematic 0 - 0 computation in some cases even when the
mathematical result would be small but positive. The patch changes
this code to use the math_force_eval approach to ensuring that an
underflowing computation actually occurs. Tests of clog and clog10
are enabled in all rounding modes.
Tested x86_64 and x86 and ulps updated accordingly.
[BZ #16789]
* math/s_clog.c (__clog): Use math_force_eval to ensure underflow
instead of using underflowing value in computing result.
* math/s_clog10.c (__clog10): Likewise.
* math/s_clog10f.c (__clog10f): Likewise.
* math/s_clog10l.c (__clog10l): Likewise.
* math/s_clogf.c (__clogf): Likewise.
* math/s_clogl.c (__clogl): Likewise.
* math/libm-test.inc (clog_test): Use ALL_RM_TEST.
(clog10_test): Likewise.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 15 ++++++
NEWS | 3 +-
math/libm-test.inc | 8 +--
math/s_clog.c | 9 +--
math/s_clog10.c | 9 +--
math/s_clog10f.c | 11 +---
math/s_clog10l.c | 7 ++-
math/s_clogf.c | 9 +--
math/s_clogl.c | 6 ++-
sysdeps/i386/fpu/libm-test-ulps | 96 +++++++++++++++++++++++++++++++++++++
sysdeps/x86_64/fpu/libm-test-ulps | 96 +++++++++++++++++++++++++++++++++++++
11 files changed, 233 insertions(+), 36 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.