This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH 1/5] Consolidate reduce_and_compute code
- From: Siddhesh Poyarekar <siddhesh at sourceware dot org>
- To: libc-alpha at sourceware dot org
- Date: Tue, 23 Aug 2016 23:52:41 +0530
- Subject: [PATCH 1/5] Consolidate reduce_and_compute code
- Authentication-results: sourceware.org; auth=none
- References: <1471976565-3576-1-git-send-email-siddhesh@sourceware.org>
This patch reshuffles the reduce_and_compute code so that the
structure matches other code structures of the same type elsewhere in
s_sin.c and s_sincos.c. This is the beginning of an attempt to
consolidate and reduce code duplication in functions in s_sin.c to
make it easier to read and possibly also easier for the compiler to
optimize.
* sysdeps/ieee754/dbl-64/s_sin.c (reduce_and_compute):
Consolidate switch cases 0 and 2.
---
sysdeps/ieee754/dbl-64/s_sin.c | 29 +++++++++++++----------------
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/sysdeps/ieee754/dbl-64/s_sin.c b/sysdeps/ieee754/dbl-64/s_sin.c
index 7c9a079..e1ee7a9 100644
--- a/sysdeps/ieee754/dbl-64/s_sin.c
+++ b/sysdeps/ieee754/dbl-64/s_sin.c
@@ -249,23 +249,20 @@ reduce_and_compute (double x, unsigned int k)
k = (n + k) % 4;
switch (k)
{
- case 0:
- if (a * a < 0.01588)
- retval = bsloww (a, da, x, n);
- else
- retval = bsloww1 (a, da, x, n);
- break;
- case 2:
- if (a * a < 0.01588)
- retval = bsloww (-a, -da, x, n);
- else
- retval = bsloww1 (-a, -da, x, n);
- break;
+ case 2:
+ a = -a;
+ da = -da;
+ case 0:
+ if (a * a < 0.01588)
+ retval = bsloww (a, da, x, n);
+ else
+ retval = bsloww1 (a, da, x, n);
+ break;
- case 1:
- case 3:
- retval = bsloww2 (a, da, x, n);
- break;
+ case 1:
+ case 3:
+ retval = bsloww2 (a, da, x, n);
+ break;
}
return retval;
}
--
2.7.4