Fix ldbl-128ibm expm1l (sNaN) (bug 20233).
The ldbl-128ibm version of expm1l returns sNaN for sNaN input. This patch fixes it to add such inputs to themselves so that qNaN is returned in this case. Tested for powerpc. [BZ #20233] * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Add NaN input to itself.
This commit is contained in:
parent
59e53a7898
commit
f8fc4b4494
|
@ -1,5 +1,9 @@
|
||||||
2016-06-09 Joseph Myers <joseph@codesourcery.com>
|
2016-06-09 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
[BZ #20233]
|
||||||
|
* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Add NaN input
|
||||||
|
to itself.
|
||||||
|
|
||||||
[BZ #20232]
|
[BZ #20232]
|
||||||
* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add NaN input to
|
* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add NaN input to
|
||||||
itself.
|
itself.
|
||||||
|
|
|
@ -106,8 +106,8 @@ __expm1l (long double x)
|
||||||
/* Infinity (which must be negative infinity). */
|
/* Infinity (which must be negative infinity). */
|
||||||
if (((ix - 0x7ff00000) | lx) == 0)
|
if (((ix - 0x7ff00000) | lx) == 0)
|
||||||
return -1.0L;
|
return -1.0L;
|
||||||
/* NaN. No invalid exception. */
|
/* NaN. Invalid exception if signaling. */
|
||||||
return x;
|
return x + x;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* expm1(+- 0) = +- 0. */
|
/* expm1(+- 0) = +- 0. */
|
||||||
|
|
Loading…
Reference in New Issue