Check n instead of k1 to decide on sign of sin/cos result
commitba4e688461a0e3171a6c515040ec9200319070b6
authorSiddhesh Poyarekar <siddhesh@sourceware.org>
Wed, 5 Oct 2016 19:04:26 +0000 (6 00:34 +0530)
committerSiddhesh Poyarekar <siddhesh@sourceware.org>
Wed, 5 Oct 2016 19:04:26 +0000 (6 00:34 +0530)
tree361d512b9b3abb301b3ffa313c73631bd6b69d2c
parentb8b7e5e644363f9ab6ea6df5d4a44389d28e5450
Check n instead of k1 to decide on sign of sin/cos result

For k1 in 1 and 3, n can only have values of 0 and 2, so checking k1 &
2 is equivalent to checking n & 2.  We prefer the latter so that we
don't use k1 for anything other than selecting the quadrant in
do_sincos_1, thus dropping it completely.

The previous logic was:

    "Compute sine for the value and based on the new rotated quadrant
     (k1) negate the value if we're in the fourth quadrant."

With this change, the logic now is:

    "Compute sine for the value and negate it if we were either (1) in
     the fourth quadrant or (2) we actually wanted the cosine and were
     in the third quadrant."

* sysdeps/ieee754/dbl-64/s_sin.c (do_sincos_1): Check N
instead of K1.
ChangeLog
sysdeps/ieee754/dbl-64/s_sin.c