Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
|
|
@ -0,0 +1,16 @@
|
|||
func fft(arr) {
|
||||
arr.len == 1 && return arr
|
||||
|
||||
var evn = fft([arr[^arr -> grep { .is_even }]])
|
||||
var odd = fft([arr[^arr -> grep { .is_odd }]])
|
||||
var twd = (Num.tau.i / arr.len)
|
||||
|
||||
^odd -> map {|n| odd[n] *= ::exp(twd * n)}
|
||||
(evn »+« odd) + (evn »-« odd)
|
||||
}
|
||||
|
||||
var cycles = 3
|
||||
var sequence = 0..15
|
||||
var wave = sequence.map {|n| ::sin(n * Num.tau / sequence.len * cycles) }
|
||||
say "wave:#{wave.map{|w| '%6.3f' % w }.join(' ')}"
|
||||
say "fft: #{fft(wave).map { '%6.3f' % .abs }.join(' ')}"
|
||||
Loading…
Add table
Add a link
Reference in a new issue