Fix ldbl-128ibm log1pl (sNaN) (bug 20234).

The ldbl-128ibm version of log1pl 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 #20234]
	* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Add positive
	infinity or NaN input to itself.
This commit is contained in:
Joseph Myers 2016-06-09 17:25:54 +00:00
parent f8fc4b4494
commit b7519f61fe
2 changed files with 5 additions and 1 deletions

View File

@ -1,5 +1,9 @@
2016-06-09 Joseph Myers <joseph@codesourcery.com> 2016-06-09 Joseph Myers <joseph@codesourcery.com>
[BZ #20234]
* sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Add positive
infinity or NaN input to itself.
[BZ #20233] [BZ #20233]
* sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Add NaN input * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Add NaN input
to itself. to itself.

View File

@ -132,7 +132,7 @@ __log1pl (long double xm1)
xhi = ldbl_high (xm1); xhi = ldbl_high (xm1);
EXTRACT_WORDS (hx, lx, xhi); EXTRACT_WORDS (hx, lx, xhi);
if (hx >= 0x7ff00000) if (hx >= 0x7ff00000)
return xm1; return xm1 + xm1;
/* log1p(+- 0) = +- 0. */ /* log1p(+- 0) = +- 0. */
if (((hx & 0x7fffffff) | lx) == 0) if (((hx & 0x7fffffff) | lx) == 0)