about summary refs log tree commit diff
path: root/sysdeps/ieee754
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/ieee754
parent0eb69512575e1e2ccfec4c4489fa3fb6201d38d1 (diff)
downloadglibc-16a0e2ec87f104961b88173fe8c96f9348850b0d.tar.gz
glibc-16a0e2ec87f104961b88173fe8c96f9348850b0d.tar.xz
glibc-16a0e2ec87f104961b88173fe8c96f9348850b0d.zip
Fix ldbl-128ibm atan2l for x near 1.
Diffstat (limited to 'sysdeps/ieee754')
-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 fe5c8bd8dc..3e0535561c 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 */