This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug math/18602] jn tests inaccuracy in non-default rounding modes
- From: "cvs-commit at gcc dot gnu.org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sourceware dot org
- Date: Thu, 25 Jun 2015 21:47:29 +0000
- Subject: [Bug math/18602] jn tests inaccuracy in non-default rounding modes
- Auto-submitted: auto-generated
- References: <bug-18602-131 at http dot sourceware dot org/bugzilla/>
https://sourceware.org/bugzilla/show_bug.cgi?id=18602
--- 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 a8e2112ae3e57fae592d84af2936a61d6239a248 (commit)
from 037e4b993fe03d33055f92dddf7242abd9f6d1de (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=a8e2112ae3e57fae592d84af2936a61d6239a248
commit a8e2112ae3e57fae592d84af2936a61d6239a248
Author: Joseph Myers <joseph@codesourcery.com>
Date: Thu Jun 25 21:46:02 2015 +0000
Use round-to-nearest internally in jn, test with ALL_RM_TEST (bug 18602).
Some existing jn tests, if run in non-default rounding modes, produce
errors above those accepted in glibc, which causes problems for moving
tests of jn to use ALL_RM_TEST. This patch makes jn set rounding
to-nearest internally, as was done for yn some time ago, then computes
the appropriate underflowing value for results that underflowed to
zero in to-nearest, and moves the tests to ALL_RM_TEST. It does
nothing about the general inaccuracy of Bessel function
implementations in glibc, though it should make jn more accurate on
average in non-default rounding modes through reduced error
accumulation. The recomputation of results that underflowed to zero
should as a side-effect fix some cases of bug 16559, where jn just
used an exact zero, but that is *not* the goal of this patch and other
cases of that bug remain unfixed.
(Most of the changes in the patch are reindentation to add new scopes
for SET_RESTORE_ROUND*.)
Tested for x86_64, x86, powerpc and mips64.
[BZ #16559]
[BZ #18602]
* sysdeps/ieee754/dbl-64/e_jn.c (__ieee754_jn): Set
round-to-nearest internally then recompute results that
underflowed to zero in the original rounding mode.
* sysdeps/ieee754/flt-32/e_jnf.c (__ieee754_jnf): Likewise.
* sysdeps/ieee754/ldbl-128/e_jnl.c (__ieee754_jnl): Likewise.
* sysdeps/ieee754/ldbl-128ibm/e_jnl.c (__ieee754_jnl): Likewise.
* sysdeps/ieee754/ldbl-96/e_jnl.c (__ieee754_jnl): Likewise
* math/libm-test.inc (jn_test): Use ALL_RM_TEST.
* sysdeps/i386/fpu/libm-test-ulps: Update.
* sysdeps/x86_64/fpu/libm-test-ulps: Likewise.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 15 ++
NEWS | 2 +-
math/libm-test.inc | 4 +-
sysdeps/i386/fpu/libm-test-ulps | 24 +++
sysdeps/ieee754/dbl-64/e_jn.c | 312 +++++++++++++++--------------
sysdeps/ieee754/flt-32/e_jnf.c | 11 +-
sysdeps/ieee754/ldbl-128/e_jnl.c | 374 +++++++++++++++++-----------------
sysdeps/ieee754/ldbl-128ibm/e_jnl.c | 374 +++++++++++++++++-----------------
sysdeps/ieee754/ldbl-96/e_jnl.c | 380 ++++++++++++++++++-----------------
sysdeps/x86_64/fpu/libm-test-ulps | 24 +++
10 files changed, 806 insertions(+), 714 deletions(-)
--
You are receiving this mail because:
You are on the CC list for the bug.