summaryrefslogtreecommitdiff
path: root/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2012-11-17 17:50:14 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2012-11-17 17:50:14 +0000
commitc27e56d74f3fb58f18e5381e49d30e1134b2005e (patch)
tree961e5061add44ed5f4bdded12ae6f2bb7d4c930a /libc/sysdeps/ieee754/ldbl-128/s_log1pl.c
parent976bc9d4ac64f30edc1e8fa8ec7552703f04a6de (diff)
downloadeglibc2-c27e56d74f3fb58f18e5381e49d30e1134b2005e.tar.gz
Merge changes between r21628 and r21775 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@21776 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/sysdeps/ieee754/ldbl-128/s_log1pl.c')
-rw-r--r--libc/sysdeps/ieee754/ldbl-128/s_log1pl.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c b/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c
index a96853e2d..3b9c7573f 100644
--- a/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c
+++ b/libc/sysdeps/ieee754/ldbl-128/s_log1pl.c
@@ -141,6 +141,12 @@ __log1pl (long double xm1)
&& (u.parts32.w1 | u.parts32.w2 | u.parts32.w3) == 0)
return xm1;
+ if ((hx & 0x7fffffff) < 0x3f8e0000)
+ {
+ if ((int) xm1 == 0)
+ return xm1;
+ }
+
x = xm1 + 1.0L;
/* log1p(-1) = -inf */