From df5933ed5cdd90c8e9f558f478f843935d7bfa88 Mon Sep 17 00:00:00 2001 From: Yingjie Wang Date: Sun, 30 Jun 2024 01:09:38 -0400 Subject: [PATCH] update: fix loop to be 55, it's faster with -O2 --- sin.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sin.c b/sin.c index 4b5eb7e..d1e0b25 100644 --- a/sin.c +++ b/sin.c @@ -68,7 +68,7 @@ int trig(double theta, double *xy, double *dxy) xy[0] = x0; xy[1] = y0; - while (i < 100 && fabs(alpha) > 1e-16) + for (i = 0; i < 56; i++) { d = alpha > 0 ? 1 : (alpha < 0 ? -1 : 0); dxy[0] = -d * xy[1] * t; @@ -76,7 +76,6 @@ int trig(double theta, double *xy, double *dxy) xy[0] += dxy[0]; xy[1] += dxy[1]; alpha -= d * atanlist[i]; - i++; t /= 2.0; } return i; @@ -124,7 +123,7 @@ double sin11(double theta, int *it, double *dsin) xy[0] = x0; xy[1] = y0; dxy[1] = 1; - while (i < 100 && fabs(dxy[1]) > 1e-16) + for (i = 0; i < 56; i++) { d = alpha > 0 ? 1 : (alpha < 0 ? -1 : 0); dxy[0] = -d * xy[1] * t; @@ -132,7 +131,6 @@ double sin11(double theta, int *it, double *dsin) xy[0] += dxy[0]; xy[1] += dxy[1]; alpha -= d * atanlist[i]; - i++; t /= 2.0; } *dsin = dxy[1];