mirror of
https://github.com/mborgerding/kissfft.git
synced 2025-06-03 09:08:10 -04:00
./bm_kiss_float -x 40000 -n 1800
from cputime=5.840 to cputime=5.830 (yeah yeah, I know its not great)
This commit is contained in:
parent
f95bd02866
commit
26ce35083d
16
kiss_fft.c
16
kiss_fft.c
@ -251,24 +251,20 @@ void kf_work(
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
kiss_fft_cpx * Fout_beg=Fout;
|
kiss_fft_cpx * Fout_beg=Fout;
|
||||||
kiss_fft_cpx * Fout_end;
|
const int p=*factors++; /* the radix */
|
||||||
int m,p;
|
const int m=*factors++; /* stage's fft length/p */
|
||||||
|
const kiss_fft_cpx * Fout_end = Fout + p*m;
|
||||||
p=*factors++; /* the radix */
|
|
||||||
m=*factors++; /* stage's fft length/p */
|
|
||||||
Fout_end = Fout + p*m;
|
|
||||||
|
|
||||||
if (m==1) {
|
if (m==1) {
|
||||||
do{
|
do{
|
||||||
*Fout++ = *f;
|
*Fout = *f;
|
||||||
f += fstride*in_stride;
|
f += fstride*in_stride;
|
||||||
}while(Fout != Fout_end );
|
}while(++Fout != Fout_end );
|
||||||
}else{
|
}else{
|
||||||
do{
|
do{
|
||||||
kf_work( Fout , f, fstride*p, in_stride, factors,st);
|
kf_work( Fout , f, fstride*p, in_stride, factors,st);
|
||||||
f += fstride*in_stride;
|
f += fstride*in_stride;
|
||||||
Fout += m;
|
}while( (Fout += m) != Fout_end );
|
||||||
}while(Fout != Fout_end );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Fout=Fout_beg;
|
Fout=Fout_beg;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user