12 lines
317 B
Python
12 lines
317 B
Python
from cmath import exp, pi
|
|
|
|
def fft(x):
|
|
N = len(x)
|
|
if N <= 1: return x
|
|
even = fft(x[0::2])
|
|
odd = fft(x[1::2])
|
|
return [even[k] + exp(-2j*pi*k/N)*odd[k] for k in xrange(N/2)] + \
|
|
[even[k] - exp(-2j*pi*k/N)*odd[k] for k in xrange(N/2)]
|
|
|
|
print fft([1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 0.0, 0.0])
|