summaryrefslogtreecommitdiff
path: root/sysdeps/ieee754/ldbl-128ibm/k_sinl.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-03-22 12:52:50 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-03-22 12:52:50 +0000
commitc0df8e693f34b535bd6ee1b691bc4ca6bc3b4579 (patch)
tree9cc7aef340a2766375fb6b317c61df7c1df9b1b5 /sysdeps/ieee754/ldbl-128ibm/k_sinl.c
parente4d91429aefd7f3ad97457f8935cf675aacfde2a (diff)
downloadglibc-c0df8e693f34b535bd6ee1b691bc4ca6bc3b4579.tar.gz
Fix low-part sign handling in sin/cos for ldbl-128 and ldbl-128ibm.
Diffstat (limited to 'sysdeps/ieee754/ldbl-128ibm/k_sinl.c')
-rw-r--r--sysdeps/ieee754/ldbl-128ibm/k_sinl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/k_sinl.c b/sysdeps/ieee754/ldbl-128ibm/k_sinl.c
index 484b65fc8e..94aba0b62d 100644
--- a/sysdeps/ieee754/ldbl-128ibm/k_sinl.c
+++ b/sysdeps/ieee754/ldbl-128ibm/k_sinl.c
@@ -134,7 +134,7 @@ __kernel_sinl(long double x, long double y, int iy)
*/
SET_LDOUBLE_WORDS64(h, ((u_int64_t)hix) << 32, 0);
if (iy)
- l = y - (h - x);
+ l = (ix < 0 ? -y : y) - (h - x);
else
l = x - h;
z = l * l;