From 911d29d139cc3c85dcbd8d9bc034dc0e13b7f1b9 Mon Sep 17 00:00:00 2001 From: Mark Borgerding Date: Sat, 11 Oct 2003 22:41:17 +0000 Subject: [PATCH] changed from static function that wasn't inlining very well to a macro 'make test' output: ### testing SNR for 1024 point FFTs #### DOUBLE snr_t2f = 295.70 snr_f2t = 308.53 #### FLOAT snr_t2f = 146.91 snr_f2t = 143.58 #### SHORT snr_t2f = 54.677 snr_f2t = 24.668 #### timing 10000 x 1024 point FFTs #### DOUBLE Elapsed:0:11.38 user:9.15 sys:0.24 #### FLOAT Elapsed:0:04.18 user:3.39 sys:0.14 #### SHORT Elapsed:0:06.03 user:4.75 sys:0.15 --- kiss_fft.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/kiss_fft.c b/kiss_fft.c index 57e5d13..16107d3 100644 --- a/kiss_fft.c +++ b/kiss_fft.c @@ -37,10 +37,6 @@ typedef struct { kiss_fft_cpx * scratch; }kiss_fft_state; -#define C_ADD(x,a,b) \ - do{ (x).r = (a).r+(b).r;\ - (x).i = (a).i+(b).i;}while(0) - #ifdef FIXED_POINT /* We don't have to worry about overflow from multiplying by twiddle factors since they * all have unity magnitude. Still need to shift away fractional bits after adding 1/2 for @@ -121,7 +117,7 @@ void fft_work( twidx += fstride * k; if (twidx>=Norig) twidx-=Norig; - t = cmul(scratch[q] , twiddles[twidx] ); + C_MUL(t,scratch[q] , twiddles[twidx] ); Fout[ k ].r += t.r; Fout[ k ].i += t.i; }