mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
Fix ldbl-128ibm sinhl spurious overflows (bug 19350).
The ldbl-128ibm implementation of sinhl uses a slightly too small overflow threshold (similar to bug 16407 for coshl). This patch fixes it to use a safe threshold (so that values whose high part is above the value compared with definitely result in an overflow in all rounding modes). Tested for powerpc. [BZ #19350] * sysdeps/ieee754/ldbl-128ibm/e_sinhl.c (__ieee754_sinhl): Increase overflow threshold.
This commit is contained in:
parent
ca2fcac629
commit
f517e06ab7
@ -1,5 +1,9 @@
|
||||
2015-12-09 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
[BZ #19350]
|
||||
* sysdeps/ieee754/ldbl-128ibm/e_sinhl.c (__ieee754_sinhl):
|
||||
Increase overflow threshold.
|
||||
|
||||
[BZ #19349]
|
||||
* sysdeps/ieee754/ldbl-128ibm/s_tanhl.c (__tanhl): Return argument
|
||||
when small.
|
||||
|
@ -67,7 +67,7 @@ __ieee754_sinhl(long double x)
|
||||
if (ix < 0x40862e42fefa39efLL) return h*__ieee754_expl(fabsl(x));
|
||||
|
||||
/* |x| in [log(maxdouble), overflowthresold] */
|
||||
if (ix <= 0x408633ce8fb9f87dLL) {
|
||||
if (ix <= 0x408633ce8fb9f87eLL) {
|
||||
w = __ieee754_expl(0.5*fabsl(x));
|
||||
t = h*w;
|
||||
return t*w;
|
||||
|
Loading…
Reference in New Issue
Block a user