This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[COMMITTED] Make quadrant shift a boolean in reduce_and_compute in s_sin.c
- From: Siddhesh Poyarekar <siddhesh at sourceware dot org>
- To: libc-alpha at sourceware dot org
- Date: Thu, 6 Oct 2016 13:11:36 +0530
- Subject: [COMMITTED] Make quadrant shift a boolean in reduce_and_compute in s_sin.c
- Authentication-results: sourceware.org; auth=none
Like the previous change, make the quadrant shift a boolean to make it
clearer that we will do at most a single rotation of the quadrants to
compute the cosine from the sine function.
This does not affect codegen.
---
ChangeLog | 7 +++++++
sysdeps/ieee754/dbl-64/s_sin.c | 8 ++++----
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 34f3bf4..d0cb39c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-10-06 Siddhesh Poyarekar <siddhesh@sourceware.org>
+
+ * sysdeps/ieee754/dbl-64/s_sin.c (reduce_and_compute): Make
+ K boolean and rename it.
+ (__sin): Adjust.
+ (__cos): Adjust.
+
2016-10-06 Rical Jasan <ricaljasan@pacific.net>
Siddhesh Poyarekar <siddhesh@sourceware.org>
diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
index 67bdebf..26b984d 100644
--- a/sysdeps/ieee754/dbl-64/s_sin.c
+++ b/sysdeps/ieee754/dbl-64/s_sin.c
@@ -268,11 +268,11 @@ do_sin_slow (double x, double dx, double eps, double *corp)
by simply rotating the quadrants by 1. */
static inline double
__always_inline
-reduce_and_compute (double x, unsigned int k)
+reduce_and_compute (double x, bool shift_quadrant)
{
double retval = 0, a, da;
unsigned int n = __branred (x, &a, &da);
- k = (n + k) % 4;
+ int4 k = (n + shift_quadrant) % 4;
switch (k)
{
case 2:
@@ -512,7 +512,7 @@ __sin (double x)
/* -----------------281474976710656 <|x| <2^1024----------------------------*/
else if (k < 0x7ff00000)
- retval = reduce_and_compute (x, 0);
+ retval = reduce_and_compute (x, false);
/*--------------------- |x| > 2^1024 ----------------------------------*/
else
@@ -605,7 +605,7 @@ __cos (double x)
/* 281474976710656 <|x| <2^1024 */
else if (k < 0x7ff00000)
- retval = reduce_and_compute (x, 1);
+ retval = reduce_and_compute (x, true);
else
{
--
2.7.4