From 14e9b0dce44a05a484b5889de2f0e453943192ec Mon Sep 17 00:00:00 2001 From: Mark Borgerding Date: Tue, 9 Dec 2003 01:51:29 +0000 Subject: [PATCH] about to start working on real inverse fft optimzation --- kiss_fftr.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/kiss_fftr.c b/kiss_fftr.c index e1b322c..285caa7 100644 --- a/kiss_fftr.c +++ b/kiss_fftr.c @@ -47,7 +47,7 @@ void * kiss_fftr_alloc(int nfft,int inverse_fft) kf_init_state (st->substate, nfft, inverse_fft); for (i=0;isuper_twiddles[i] = kf_cexp( phase ); } return st; @@ -78,25 +78,20 @@ void kiss_fftr(const void * cfg,const kiss_fft_scalar *fin,kiss_fft_cpx *fout) fout[0].i = 0; for (k=1;ktmpbuf[k]; + kiss_fft_cpx fpnk,fpk,f1k; + fpk = st->tmpbuf[k]; fpnk.r = st->tmpbuf[N-k].r; fpnk.i = -st->tmpbuf[N-k].i; C_ADD( f1k, fpk , fpnk ); C_SUBFROM( fpk , fpnk ); + C_MUL( fout[k], fpk , st->super_twiddles[k] ); + C_ADDTO(fout[k],f1k); - f2k.r = fpk.i; - f2k.i = -fpk.r; - - C_MUL( scr[1], f2k , st->super_twiddles[k] ); - - C_ADD(fout[k],f1k,scr[1]); - fout[k].r /= 2; fout[k].i /= 2; } } +