This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[COMMITTED] Make quadrant shift a boolean in reduce_and_compute in s_sin.c


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]