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);
 
 [