diff options
author | Joseph Myers <joseph@codesourcery.com> | 2015-12-09 22:37:08 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2015-12-09 22:37:08 +0000 |
commit | f517e06ab71e07b24bf085063b0ba2d072da4a56 (patch) | |
tree | 69f4238e386230177b71657313b11843cfe706fe | |
parent | ca2fcac629b9b7781ccd52685b28741d89ff128f (diff) | |
download | glibc-f517e06ab71e07b24bf085063b0ba2d072da4a56.tar glibc-f517e06ab71e07b24bf085063b0ba2d072da4a56.tar.gz glibc-f517e06ab71e07b24bf085063b0ba2d072da4a56.tar.bz2 glibc-f517e06ab71e07b24bf085063b0ba2d072da4a56.zip |
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.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-128ibm/e_sinhl.c | 2 |
2 files changed, 5 insertions, 1 deletions
@@ -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. diff --git a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c index 29700ad4ab..67d9d24ce7 100644 --- a/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c +++ b/sysdeps/ieee754/ldbl-128ibm/e_sinhl.c @@ -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; |