From d4841b299887533fe2a3cac38d5f8d1c8f33fa07 Mon Sep 17 00:00:00 2001 From: Ahmet Inan Date: Thu, 28 Feb 2019 12:39:57 +0100 Subject: [PATCH] simplified loops --- fdzp.hh | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/fdzp.hh b/fdzp.hh index 959ff8a..68e0d75 100644 --- a/fdzp.hh +++ b/fdzp.hh @@ -22,19 +22,14 @@ public: void operator ()(CMPLX *output, const CMPLX *input) { fwd(tmp, input); - if (BINS&1) { - for (int i = 1; i < BINS/2; ++i) - tmp[BINS*FACT-BINS/2+i] = tmp[BINS/2+1+i]; - for (int i = 1; i < BINS/2; ++i) - tmp[BINS/2+1+i] = 0; - } else { + if (!(BINS&1)) { tmp[BINS/2] *= VALUE(0.5); tmp[BINS*FACT-BINS/2] = tmp[BINS/2]; - for (int i = 1; i < BINS/2; ++i) - tmp[BINS*FACT-BINS/2+i] = tmp[BINS/2+i]; - for (int i = 1; i < BINS/2; ++i) - tmp[BINS/2+i] = 0; } + for (int i = (BINS+1)/2+1; i < BINS; ++i) + tmp[BINS*(FACT-1)+i] = tmp[i]; + for (int i = (BINS+1)/2+1; i < BINS; ++i) + tmp[i] = 0; bwd(output, tmp); for (int i = 0; i < BINS * FACT; ++i) output[i] *= SCALE;