9 lines
233 B
Raku
9 lines
233 B
Raku
sub fft {
|
|
return @_ if @_ == 1;
|
|
my @evn = fft( @_[0, 2 ... *] );
|
|
my @odd = fft( @_[1, 3 ... *] ) Z*
|
|
map &cis, (0, -tau / @_ ... *);
|
|
return flat @evn »+« @odd, @evn »-« @odd;
|
|
}
|
|
|
|
.say for fft <1 1 1 1 0 0 0 0>;
|