./bm_kiss_float -x 10000 -n 1800

improved from
cputime=1.540
to
cputime=1.490
This commit is contained in:
Mark Borgerding 2004-02-03 00:59:33 +00:00
parent 2d66a61546
commit 8e00ca1877

View File

@ -240,6 +240,7 @@ static void kf_bfly_generic(
}
}
static
void kf_work(
kiss_fft_cpx * Fout,
const kiss_fft_cpx * f,
@ -249,18 +250,22 @@ void kf_work(
const kiss_fft_state * st
)
{
int m,p,q;
p=*factors++;
m=*factors++;
kiss_fft_cpx * tmpFout=Fout;
int m,p,r;
p=*factors++; /* the radix */
m=*factors++; /* stage's fft length/p */
for (q=0;q<p;++q) {
for (r=0;r<p;++r) {
if (m==1)
Fout[q] = *f;
*Fout = *f;
else
kf_work( Fout + m*q, f, fstride*p, in_stride, factors,st);
kf_work( Fout , f, fstride*p, in_stride, factors,st);
Fout += m;
f += fstride*in_stride;
}
Fout=tmpFout;
switch (p) {
case 2: kf_bfly2(Fout,fstride,st,m); break;
case 3: kf_bfly3(Fout,fstride,st,m); break;