aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/stepcompress.c
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2016-11-14 15:36:11 -0500
committerKevin O'Connor <kevin@koconnor.net>2016-11-14 15:36:11 -0500
commit6ab269ceb776057a6d99850dc0fa47c7345faaa2 (patch)
treeb681638822a55b8c42d6351a52b30bfb348ad2db /klippy/stepcompress.c
parentfd7cb99f47e5f3dd39a9069b225d8c4ee27680e8 (diff)
downloadkutter-6ab269ceb776057a6d99850dc0fa47c7345faaa2.tar.gz
kutter-6ab269ceb776057a6d99850dc0fa47c7345faaa2.tar.xz
kutter-6ab269ceb776057a6d99850dc0fa47c7345faaa2.zip
stepcompress: Don't bother loop unrolling in push_sqrt()
It's not necessary to have two loops - checking if factor is greater than zero in the loop is fine. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/stepcompress.c')
-rw-r--r--klippy/stepcompress.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/klippy/stepcompress.c b/klippy/stepcompress.c
index afd9886b..b00dd7c3 100644
--- a/klippy/stepcompress.c
+++ b/klippy/stepcompress.c
@@ -419,16 +419,11 @@ stepcompress_push_sqrt(struct stepcompress *sc, double steps, double step_offset
uint64_t *qn = sc->queue_next, *end = &qn[count];
clock_offset += 0.5;
double pos = step_offset + .5 + sqrt_offset/factor;
- if (factor >= 0.0)
- while (qn < end) {
- *qn++ = clock_offset + safe_sqrt(pos*factor);
- pos += 1.0;
- }
- else
- while (qn < end) {
- *qn++ = clock_offset - safe_sqrt(pos*factor);
- pos += 1.0;
- }
+ while (qn < end) {
+ double v = safe_sqrt(pos*factor);
+ *qn++ = clock_offset + (factor >= 0. ? v : -v);
+ pos += 1.0;
+ }
sc->queue_next = qn;
return sdir ? count : -count;
}