]> git.ipfire.org Git - thirdparty/glibc.git/commit
Fix ldbl-128ibm coshl spurious overflows (bug 16407).
authorJoseph Myers <joseph@codesourcery.com>
Tue, 7 Jan 2014 22:00:04 +0000 (22:00 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Tue, 7 Jan 2014 22:00:04 +0000 (22:00 +0000)
commitb821f414e480d7f9e097fa453b1c9bfd44d64316
tree92688c5b7d5228b2e168d3acc30bcac00a196705
parent196f456b842ee96e1bf1e5ae6ed21ba427dee3f3
Fix ldbl-128ibm coshl spurious overflows (bug 16407).

This patch fixes bug 16407, spurious overflows from ldbl-128ibm coshl.
The implementation assumed that a high part (reinterpreted as an
integer) of the absolute value of the argument of 0x408633ce8fb9f87dLL
or more meant overflow, but the actual threshold has high part
0x408633ce8fb9f87eLL (and a negative low part).  The patch adjusts the
threshold accordingly.

sinhl probably has the same issue, but I didn't get that far in adding
tests of special cases (such as just below and above overflow) before
the freeze and during the freeze is not a suitable time to add them
(as they'd require ulps to be regenerated again), so I'm not changing
that function for now; when I add more tests of special cases, we'll
discover whether sinhl indeed has this problem.

Tested powerpc32.

* sysdeps/ieee754/ldbl-128ibm/e_coshl.c (__ieee754_coshl):
Increase overflow threshold.
ChangeLog
NEWS
sysdeps/ieee754/ldbl-128ibm/e_coshl.c