changeset 479:493d7bfc58ca

Fix flipped (and add test)
author Chris Cannam
date Fri, 01 Nov 2013 12:58:37 +0000
parents e23b26580c98
children b70acc1d84d9
files src/may/matrix/complex.yeti src/may/matrix/test/test_complexmatrix.yeti
diffstat 2 files changed, 30 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/may/matrix/complex.yeti	Fri Nov 01 10:45:41 2013 +0000
+++ b/src/may/matrix/complex.yeti	Fri Nov 01 12:58:37 2013 +0000
@@ -147,7 +147,7 @@
 
 flipped cm =
     {
-        size = { rows = cm.size.columns, columns = cm.size.rows },
+        size = { rows = cm.size.rows, columns = cm.size.columns },
         real = maybe none (Some . mat.flipped) cm.real,
         imaginary = maybe none (Some . mat.flipped) cm.imaginary,
     };
--- a/src/may/matrix/test/test_complexmatrix.yeti	Fri Nov 01 10:45:41 2013 +0000
+++ b/src/may/matrix/test/test_complexmatrix.yeti	Fri Nov 01 12:58:37 2013 +0000
@@ -12,6 +12,13 @@
 
 { compare, compareUsing } = load may.test.test;
 
+aTestMatrix () =
+   (// 1+0i 0-2i 3.5+6i
+    // 0+0i 4-3i 1-0.2i
+    reals = mat.newMatrix (RowMajor ()) (map vec.fromList [[1,0,3.5],[0,4,1]]);
+    imags = mat.newMatrix (RowMajor ()) (map vec.fromList [[0,-2,6],[0,-3,-0.2]]);
+    cm.complex reals imags);
+
 [
 
 "enumerate": \(
@@ -40,7 +47,28 @@
        (sortEntries e)
        (sortEntries all);
 ),
-    
+
+"transposed": \(
+    m = aTestMatrix ();
+    mout = cm.transposed m;
+    compare (map vec.list (mat.asRows (cm.real mout))) [[1,0],[0,4],[3.5,1]] and
+    compare (map vec.list (mat.asRows (cm.imaginary mout))) [[0,0],[-2,-3],[6,-0.2]];
+),
+
+"conjugateTransposed": \(
+    m = aTestMatrix ();
+    mout = cm.conjugateTransposed m;
+    compare (map vec.list (mat.asRows (cm.real mout))) [[1,0],[0,4],[3.5,1]] and
+    compare (map vec.list (mat.asRows (cm.imaginary mout))) [[0,0],[2,3],[-6,0.2]];
+),
+
+"flipped": \(
+    m = aTestMatrix ();
+    mout = cm.flipped m;
+    compare (map vec.list (mat.asRows (cm.real mout))) [[1,0,3.5],[0,4,1]] and
+    compare (map vec.list (mat.asRows (cm.imaginary mout))) [[0,-2,6],[0,-3,-0.2]];
+),
+
 "magnitudes": \(
     // 1+0i 0-2i
     // 0+0i 4-3i