This commit is contained in:
Mark Borgerding 2003-10-10 21:24:46 +00:00
parent 93de2a9410
commit edf93e8540

19
fft.py
View File

@ -22,14 +22,17 @@ def fft(f):
Fp = fft( fp ) Fp = fft( fp )
Fm.extend( Fp ) Fm.extend( Fp )
Fout=[0]*n Fout = [ 0 ] * n
for k in range(n): for u in range(m):
km = (k%m) scratch = Fm[u::m] # u to end in strides of m
val = Fm[ km ] for q1 in range(p):
for q in range(1,p): k = q1*m + u # indices to Fout above that became scratch
t = e ** ( j*2*pi*k*q/n ) val = Fm[ u ]
val += Fm[ q*m + km ] * t for q in range(1,p):
Fout[k] = val t = e ** ( j*2*pi*k*q/n )
#Fout[ k ] += scratch[q] * t
val += Fm[ q*m + u ] * t
Fout[ k ] = val
return Fout return Fout