Fast Fourier transform: Difference between revisions

Content added Content deleted
(→‎{{header|APL}}: shortening)
m (→‎{{header|APL}}: trimming spaces)
Line 202: Line 202:
{{trans|Fortran}}
{{trans|Fortran}}
{{works with|Dyalog APL}}
{{works with|Dyalog APL}}
<lang APL>
<lang APL>fft←{
fft←{
1>k←2÷⍨N←⍴⍵:⍵
1>k←2÷⍨N←⍴⍵:⍵
0≠1|2⍟N:'Argument must be a power of 2 in length'
0≠1|2⍟N:'Argument must be a power of 2 in length'
Line 210: Line 209:
T←even×*(0J¯2×(○1)×(¯1+⍳k)÷N)
T←even×*(0J¯2×(○1)×(¯1+⍳k)÷N)
(odd+T),odd-T
(odd+T),odd-T
}</lang>
}
</lang>


'''Example:'''
'''Example:'''
<lang APL>
<lang APL> fft 1 1 1 1 0 0 0 0</lang>
fft 1 1 1 1 0 0 0 0
</lang>


{{out}}
{{out}}
<pre> 4 1J¯2.414213562 0 1J¯0.4142135624 0 1J0.4142135624
<pre>
0 1J2.414213562</pre>
4 1J¯2.414213562 0 1J¯0.4142135624 0 1J0.4142135624
0 1J2.414213562
</pre>


=={{header|BBC BASIC}}==
=={{header|BBC BASIC}}==