Mercurial > hg > js-dsp-test
comparison fft/fft.js/src/real.rb @ 25:66f9fd5ac611
Bring in some more of the third-party code
author | Chris Cannam |
---|---|
date | Wed, 07 Oct 2015 13:46:38 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
24:e705de983b67 | 25:66f9fd5ac611 |
---|---|
1 def load(offset = 0, i = nil, stride = nil) | |
2 "#{real(x, offset, i, stride)}" | |
3 end | |
4 | |
5 def creal(x, offset = 0, i = nil, stride = nil) | |
6 if stride | |
7 "#{x}[2 * ((#{offset}) + (#{stride}) * (#{i}))]" | |
8 elsif i | |
9 "#{x}[2 * ((#{offset}) + (#{i}))]" | |
10 elsif offset | |
11 "#{x}[2 * (#{offset})]" | |
12 else | |
13 "#{x}[0]" | |
14 end | |
15 end | |
16 | |
17 def cimag(x, offset = 0, i = nil, stride = nil) | |
18 if stride | |
19 "#{x}[2 * ((#{offset}) + (#{stride}) * (#{i})) + 1]" | |
20 elsif i | |
21 "#{x}[2 * ((#{offset}) + (#{i})) + 1]" | |
22 elsif offset | |
23 "#{x}[2 * (#{offset}) + 1]" | |
24 else | |
25 "#{x}[1]" | |
26 end | |
27 end | |
28 | |
29 def cload(value, x, offset = 0, i = nil, stride = nil) | |
30 "var #{value}_r = #{real(x, offset, i, stride)}, #{value}_i = #{imag(x, offset, i, stride)}" | |
31 end | |
32 | |
33 def cstore(value, x, offset = 0, i = nil, stride = nil) | |
34 "#{real(x, offset, i, stride)} = #{value}_r, #{imag(x, offset, i, stride)} = #{value}_i" | |
35 end | |
36 | |
37 def cadd(result, a, b) | |
38 "var #{result}_r = #{a}_r + #{b}_r, #{result}_i = #{a}_i + #{b}_i" | |
39 end | |
40 | |
41 def csub(result, a, b) | |
42 "var #{result}_r = #{a}_r - #{b}_r, #{result}_i = #{a}_i - #{b}_i" | |
43 end | |
44 | |
45 def cmul(result, a, b) | |
46 "var #{result}_r = #{a}_r * #{b}_r - #{a}_i * #{b}_i, #{result}_i = #{a}_r * #{b}_i + #{a}_i * #{b}_r" | |
47 end |