diff --git a/extra/math/transforms/fft/fft.factor b/extra/math/transforms/fft/fft.factor index e527a5542a..5c6ba88f07 100644 --- a/extra/math/transforms/fft/fft.factor +++ b/extra/math/transforms/fft/fft.factor @@ -9,9 +9,9 @@ IN: math.transforms.fft ! Discrete Fourier Transform :: (slow-fft) ( seq inverse? -- seq' ) seq length :> N - inverse? 1 -1 ? 2pi * i* N / N iota n*v :> omega + inverse? 1 -1 ? 2pi * N / N iota n*v :> omega N iota [| k | - 0 seq omega [ k * e^ * + ] 2each + 0 seq omega [ k * cis * + ] 2each inverse? [ N / ] when ] map ; inline @@ -21,8 +21,8 @@ IN: math.transforms.fft N 1 = [ seq ] [ seq even-indices inverse? (fft) seq odd-indices inverse? (fft) - inverse? 1 -1 ? 2pi * i* N / - [ * e^ * ] curry map-index! + inverse? 1 -1 ? 2pi * N / + [ * cis * ] curry map-index! [ [ + inverse? [ 2 / ] when ] 2map ] [ [ - inverse? [ 2 / ] when ] 2map ] 2bi append