Time for an 2014 update…
This commit is contained in:
parent
372c577f83
commit
09687c4926
2520 changed files with 34227 additions and 7318 deletions
|
|
@ -0,0 +1 @@
|
|||
fft([1,1,1,1,0,0,0,0])
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
8-element Array{Complex{Float64},1}:
|
||||
4.0+0.0im
|
||||
1.0-2.41421im
|
||||
0.0+0.0im
|
||||
1.0-0.414214im
|
||||
0.0+0.0im
|
||||
1.0+0.414214im
|
||||
0.0+0.0im
|
||||
1.0+2.41421im
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
/*REXX pgm does a fast Fourier transform (FFT) on a set of complex nums.*/
|
||||
numeric digits 85
|
||||
numeric digits length( pi() ) - 1 /*limited by PI function result. */
|
||||
arg data; if data='' then data='1 1 1 1 0' /*no data? Then use default*/
|
||||
data=translate(data, 'J', "I") /*allow use of i as well as j */
|
||||
size=words(data); pad=left('',6) /*PAD: for indenting/padding SAYs*/
|
||||
|
|
|
|||
10
Task/Fast-Fourier-transform/Ruby/fast-fourier-transform.rb
Normal file
10
Task/Fast-Fourier-transform/Ruby/fast-fourier-transform.rb
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
def fft(vec)
|
||||
return vec if vec.size <= 1
|
||||
evens_odds = vec.partition.with_index{|_,i| i.even?}
|
||||
evens, odds = evens_odds.map{|even_odd| fft(even_odd)*2}
|
||||
evens.zip(odds).map.with_index do |(even, odd),i|
|
||||
even + odd * Math::E ** Complex(0, 2 * Math::PI * (-i)/ vec.size)
|
||||
end
|
||||
end
|
||||
|
||||
fft([1,1,1,1,0,0,0,0]).each{|c| p c}
|
||||
|
|
@ -0,0 +1 @@
|
|||
fft([1,1,1,1,0,0,0,0]')
|
||||
Loading…
Add table
Add a link
Reference in a new issue