This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug math/18602] jn tests inaccuracy in non-default rounding modes


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]