Mercurial > hg > may
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