Mercurial > hg > may
changeset 221:ddc8fa794880 matrix_opaque_immutable
Fix complex (avoiding dodgy bytecode)
author | Chris Cannam |
---|---|
date | Sat, 11 May 2013 14:50:43 +0100 |
parents | 937f908cae52 |
children | 77c6a81c577f |
files | yetilab/transform/fft.yeti yetilab/transform/test/test_fft.yeti |
diffstat | 2 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/yetilab/transform/fft.yeti Sat May 11 12:20:40 2013 +0100 +++ b/yetilab/transform/fft.yeti Sat May 11 14:50:43 2013 +0100 @@ -19,14 +19,16 @@ complexToPacked arr = (n = length arr; - v = (map do i: - ix = int (i/2); + v = new double[n*2-2]; + for [0..(n-1)*2-1] do i: + ix = int (i/2); + v[i] := if i == ix*2 then complex.real arr[ix] else complex.imaginary arr[ix] fi; - done [0..(n-1)*2-1]) as ~double[]; + done; v[1] := complex.real arr[n-1]; v);
--- a/yetilab/transform/test/test_fft.yeti Sat May 11 12:20:40 2013 +0100 +++ b/yetilab/transform/test/test_fft.yeti Sat May 11 14:50:43 2013 +0100 @@ -10,7 +10,7 @@ testFFT orig reals imags = (out = realForward (length orig) (fromList orig); back = realInverse (length orig) out; - compare out (array (map2 complex reals imags)) and compare orig (list back)); + compare out (array (map2 complex reals imags)) and compare (list back) orig); [