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:
Joseph Myers 2016-06-09 17:24:52 +00:00
parent 59e53a7898
commit f8fc4b4494
2 changed files with 6 additions and 2 deletions

View File

@ -1,5 +1,9 @@
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]
* sysdeps/ieee754/ldbl-128/s_expm1l.c (__expm1l): Add NaN input to
itself.

View File

@ -106,8 +106,8 @@ __expm1l (long double x)
/* Infinity (which must be negative infinity). */
if (((ix - 0x7ff00000) | lx) == 0)
return -1.0L;
/* NaN. No invalid exception. */
return x;
/* NaN. Invalid exception if signaling. */
return x + x;
}
/* expm1(+- 0) = +- 0. */