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/17803] scalblnl differs from scabnl and ldexpl (with radix 2)


https://sourceware.org/bugzilla/show_bug.cgi?id=17803

--- Comment #2 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  5a9e4c09a2601a8100ea9a1f7bc0360782cd1625 (commit)
      from  34e93d6c76b7a6eaf94697a172b958704fd33396 (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=5a9e4c09a2601a8100ea9a1f7bc0360782cd1625

commit 5a9e4c09a2601a8100ea9a1f7bc0360782cd1625
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Jan 12 23:02:14 2015 +0000

    Fix ldbl-96 scalblnl underflowing results (bug 17803).

    The ldbl-96 implementation of scalblnl (used for x86_64 and ia64) uses
    a condition k <= -63 to determine when a standard underflowing result
    tiny*__copysignl(tiny,x) should be returned.  However, that condition
    corresponds to values with exponent -16446 or less, and in the case of
    -16446, the correct result for round-to-nearest depends on whether the
    value is exactly 0x1p-16446 (half the least subnormal) or more than
    that.  This patch fixes the bug by changing the condition to k <= -64
    and accordingly adjusting the exponent by 64 not 63 when converting to
    a normal value.

    Tested for x86_64.

        [BZ #17803]
        * sysdeps/ieee754/ldbl-96/s_scalblnl.c (twom63): Rename to
        twom64.  Adjust value to 0x1p-64L.
        (__scalblnl): Only return standard underflowing result for K <=
        -64 not K <= -63; adjust exponent for underflowing result by 64
        not 63.
        * math/libm-test.inc (scalbn_test_data): Add more tests.
        (scalbln_test_data): Likewise.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                            |    9 ++++++++
 NEWS                                 |    2 +-
 math/libm-test.inc                   |   38 ++++++++++++++++++++++++++++++++++
 sysdeps/ieee754/ldbl-96/s_scalblnl.c |    8 +++---
 4 files changed, 52 insertions(+), 5 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]