! Copyright (c) 2007 Hans Schmid. ! See http://factorcode.org/license.txt for BSD license. USING: columns grouping kernel math math.constants math.functions math.vectors sequences ; IN: math.transforms.fft ! Fast Fourier Transform DEFER: fft : two ( seq -- seq' ) fft 2 v/n dup append ; ; : odd ( seq -- seq' ) 2 group 1 ; : (fft) ( seq -- seq' ) [ odd two twiddle ] [ even two ] bi v+ ; PRIVATE> : fft ( seq -- seq' ) dup length 1 = [ (fft) ] unless ;