aboutsummaryrefslogtreecommitdiff
path: root/sysdeps
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-10-31 20:44:59 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-10-31 20:44:59 +0000
commit16a0e2ec87f104961b88173fe8c96f9348850b0d (patch)
treeafcb3c9f59e4f7b556a3fb05f6aebf75bf4bd858 /sysdeps
parent0eb69512575e1e2ccfec4c4489fa3fb6201d38d1 (diff)
downloadglibc-16a0e2ec87f104961b88173fe8c96f9348850b0d.zip
glibc-16a0e2ec87f104961b88173fe8c96f9348850b0d.tar.gz
glibc-16a0e2ec87f104961b88173fe8c96f9348850b0d.tar.bz2
Fix ldbl-128ibm atan2l for x near 1.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/e_atan2l.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c b/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c
index fe5c8bd..3e05355 100644
--- a/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c
+++ b/sysdeps/ieee754/ldbl-128ibm/e_atan2l.c
@@ -65,7 +65,8 @@ __ieee754_atan2l(long double y, long double x)
if(((ix)>0x7ff0000000000000LL)||
((iy)>0x7ff0000000000000LL)) /* x or y is NaN */
return x+y;
- if(((hx-0x3ff0000000000000LL))==0) return __atanl(y); /* x=1.0L */
+ if(((hx-0x3ff0000000000000LL))==0
+ && (lx&0x7fffffffffffffff)==0) return __atanl(y); /* x=1.0L */
m = ((hy>>63)&1)|((hx>>62)&2); /* 2*sign(x)+sign(y) */
/* when y = 0 */