From b7519f61fe2c57981c69c0c65996968b9a4d9b62 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 9 Jun 2016 17:25:54 +0000 Subject: [PATCH] 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. --- ChangeLog | 4 ++++ sysdeps/ieee754/ldbl-128ibm/s_log1pl.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6944ac57ec..81192ce5b8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2016-06-09 Joseph Myers + [BZ #20234] + * sysdeps/ieee754/ldbl-128ibm/s_log1pl.c (__log1pl): Add positive + infinity or NaN input to itself. + [BZ #20233] * sysdeps/ieee754/ldbl-128ibm/s_expm1l.c (__expm1l): Add NaN input to itself. diff --git a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c index 743693bfd6..5457892a98 100644 --- a/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c +++ b/sysdeps/ieee754/ldbl-128ibm/s_log1pl.c @@ -132,7 +132,7 @@ __log1pl (long double xm1) xhi = ldbl_high (xm1); EXTRACT_WORDS (hx, lx, xhi); if (hx >= 0x7ff00000) - return xm1; + return xm1 + xm1; /* log1p(+- 0) = +- 0. */ if (((hx & 0x7fffffff) | lx) == 0)