Fast Fourier transform: Difference between revisions

Line 2,736:
O : table ;
Odds : table ;
RT : table complex ;
T : table ;
 
BEGIN
Line 2,751 ⟶ 2,750:
SetLength ( E, halfN ) ;
SetLength ( O, halfN ) ;
T : table ;
Split ( L, E, O ) ;
SetLength ( RL, 0 ) ;
SetLength ( Even, halfN ) ;
 
Even := FFT ( E ) ;
SetLength ( E , 0 ) ;
 
SetLength ( Odds, halfN ) ;
Split ( L, E, O ) ;
Even := FFT ( E ) ;
Odds := FFT ( O ) ;
SetLength ( E , 0 ) ;
SetLength ( O , 0 ) ;
SetLength ( RL, N ) ;
 
SetLength ( T, halfN ) ;
 
FOR k := 0 to halfN - 1 DO
BEGIN
 
T [ k ] := Cexp ( -2 * i * pi * k / N ) * Odds [ k ];
 
RL [ k ] := Even [ k ] + T [ k ] ;
 
RL [ k + halfN ] := Even [ k ] - T [ k ] ;
END ;
 
SetLength ( T , 0 ) ;
SetLength ( Even, 0 ) ;
SetLength ( Odds, 0 ) ;
FFT := RL ;
 
SetLength ( R, 0 ) ;
 
END ;
Line 2,833 ⟶ 2,828:
 
</lang>
JPD 2021/12/2426
 
=={{header|Perl}}==
122

edits