summaryrefslogtreecommitdiff
path: root/libc/sysdeps/ieee754/dbl-64/sincos32.c
diff options
context:
space:
mode:
authorjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2013-11-06 23:03:08 +0000
committerjoseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d>2013-11-06 23:03:08 +0000
commit036dfd44bcc8ed8e97dcd9c763f61d3b59796941 (patch)
tree27fe47c83800c73d61262ea4e70b211f6753e516 /libc/sysdeps/ieee754/dbl-64/sincos32.c
parentfe2ed5aaa408e1ab996a9fe1595a05634208a79c (diff)
downloadeglibc2-036dfd44bcc8ed8e97dcd9c763f61d3b59796941.tar.gz
Merge changes between r24305 and r24468 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@24469 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/sysdeps/ieee754/dbl-64/sincos32.c')
-rw-r--r--libc/sysdeps/ieee754/dbl-64/sincos32.c14
1 files changed, 6 insertions, 8 deletions
diff --git a/libc/sysdeps/ieee754/dbl-64/sincos32.c b/libc/sysdeps/ieee754/dbl-64/sincos32.c
index f253b8ce8..49aa14895 100644
--- a/libc/sysdeps/ieee754/dbl-64/sincos32.c
+++ b/libc/sysdeps/ieee754/dbl-64/sincos32.c
@@ -147,10 +147,9 @@ __sin32 (double x, double res, double res1)
__dbl_mp (x, &c, p); /* c = x */
__sub (&b, &c, &a, p);
/* if a > 0 return min (res, res1), otherwise return max (res, res1). */
- if (a.d[0] > 0)
- return (res < res1) ? res : res1;
- else
- return (res > res1) ? res : res1;
+ if ((a.d[0] > 0 && res >= res1) || (a.d[0] <= 0 && res <= res1))
+ res = res1;
+ return res;
}
/* Receive double x and two double results of cos(x) and return result which is
@@ -181,10 +180,9 @@ __cos32 (double x, double res, double res1)
__dbl_mp (x, &c, p); /* c = x */
__sub (&b, &c, &a, p);
/* if a > 0 return max (res, res1), otherwise return min (res, res1). */
- if (a.d[0] > 0)
- return (res > res1) ? res : res1;
- else
- return (res < res1) ? res : res1;
+ if ((a.d[0] > 0 && res <= res1) || (a.d[0] <= 0 && res >= res1))
+ res = res1;
+ return res;
}
/* Compute sin() of double-length number (X + DX) as Multi Precision number and