Chris@25
|
1 def load(offset = 0, i = nil, stride = nil)
|
Chris@25
|
2 "#{real(x, offset, i, stride)}"
|
Chris@25
|
3 end
|
Chris@25
|
4
|
Chris@25
|
5 def creal(x, offset = 0, i = nil, stride = nil)
|
Chris@25
|
6 if stride
|
Chris@25
|
7 "#{x}[2 * ((#{offset}) + (#{stride}) * (#{i}))]"
|
Chris@25
|
8 elsif i
|
Chris@25
|
9 "#{x}[2 * ((#{offset}) + (#{i}))]"
|
Chris@25
|
10 elsif offset
|
Chris@25
|
11 "#{x}[2 * (#{offset})]"
|
Chris@25
|
12 else
|
Chris@25
|
13 "#{x}[0]"
|
Chris@25
|
14 end
|
Chris@25
|
15 end
|
Chris@25
|
16
|
Chris@25
|
17 def cimag(x, offset = 0, i = nil, stride = nil)
|
Chris@25
|
18 if stride
|
Chris@25
|
19 "#{x}[2 * ((#{offset}) + (#{stride}) * (#{i})) + 1]"
|
Chris@25
|
20 elsif i
|
Chris@25
|
21 "#{x}[2 * ((#{offset}) + (#{i})) + 1]"
|
Chris@25
|
22 elsif offset
|
Chris@25
|
23 "#{x}[2 * (#{offset}) + 1]"
|
Chris@25
|
24 else
|
Chris@25
|
25 "#{x}[1]"
|
Chris@25
|
26 end
|
Chris@25
|
27 end
|
Chris@25
|
28
|
Chris@25
|
29 def cload(value, x, offset = 0, i = nil, stride = nil)
|
Chris@25
|
30 "var #{value}_r = #{real(x, offset, i, stride)}, #{value}_i = #{imag(x, offset, i, stride)}"
|
Chris@25
|
31 end
|
Chris@25
|
32
|
Chris@25
|
33 def cstore(value, x, offset = 0, i = nil, stride = nil)
|
Chris@25
|
34 "#{real(x, offset, i, stride)} = #{value}_r, #{imag(x, offset, i, stride)} = #{value}_i"
|
Chris@25
|
35 end
|
Chris@25
|
36
|
Chris@25
|
37 def cadd(result, a, b)
|
Chris@25
|
38 "var #{result}_r = #{a}_r + #{b}_r, #{result}_i = #{a}_i + #{b}_i"
|
Chris@25
|
39 end
|
Chris@25
|
40
|
Chris@25
|
41 def csub(result, a, b)
|
Chris@25
|
42 "var #{result}_r = #{a}_r - #{b}_r, #{result}_i = #{a}_i - #{b}_i"
|
Chris@25
|
43 end
|
Chris@25
|
44
|
Chris@25
|
45 def cmul(result, a, b)
|
Chris@25
|
46 "var #{result}_r = #{a}_r * #{b}_r - #{a}_i * #{b}_i, #{result}_i = #{a}_r * #{b}_i + #{a}_i * #{b}_r"
|
Chris@25
|
47 end
|