mirror of
https://github.com/mborgerding/kissfft.git
synced 2025-06-04 01:28:23 -04:00
./bm_kiss_float -x 40000 -n 1800
improved from cputime=6.010 to cputime=5.940
This commit is contained in:
parent
8e00ca1877
commit
210f219648
14
kiss_fft.c
14
kiss_fft.c
@ -250,21 +250,25 @@ void kf_work(
|
||||
const kiss_fft_state * st
|
||||
)
|
||||
{
|
||||
kiss_fft_cpx * tmpFout=Fout;
|
||||
int m,p,r;
|
||||
kiss_fft_cpx * Fout_beg=Fout;
|
||||
kiss_fft_cpx * Fout_end;
|
||||
|
||||
int m,p;
|
||||
|
||||
p=*factors++; /* the radix */
|
||||
m=*factors++; /* stage's fft length/p */
|
||||
Fout_end = Fout + p*m;
|
||||
|
||||
for (r=0;r<p;++r) {
|
||||
do{
|
||||
if (m==1)
|
||||
*Fout = *f;
|
||||
else
|
||||
kf_work( Fout , f, fstride*p, in_stride, factors,st);
|
||||
Fout += m;
|
||||
f += fstride*in_stride;
|
||||
}
|
||||
}while(Fout != Fout_end );
|
||||
|
||||
Fout=tmpFout;
|
||||
Fout=Fout_beg;
|
||||
|
||||
switch (p) {
|
||||
case 2: kf_bfly2(Fout,fstride,st,m); break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user