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/16353] expm1 missing underflows


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.


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