Mercurial > hg > may
changeset 547:1200e1029ecb
Add repeatedHorizontal/Vertical
author | Chris Cannam |
---|---|
date | Mon, 24 Mar 2014 11:23:28 +0000 |
parents | 17d5a8986f6f |
children | 712999a0ad66 |
files | src/may/matrix.yeti src/may/matrix/test/test_matrix.yeti |
diffstat | 2 files changed, 44 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/may/matrix.yeti Mon Mar 24 09:59:27 2014 +0000 +++ b/src/may/matrix.yeti Mon Mar 24 11:23:28 2014 +0000 @@ -885,6 +885,14 @@ fi fi); +repeatedHorizontal n m = + (cols = asColumns m; + fromColumns (fold do acc _: acc ++ cols done [] [1..n])); + +repeatedVertical n m = + (rows = asRows m; + fromRows (fold do acc _: acc ++ rows done [] [1..n])); + minValue m = if width m == 0 or height m == 0 then 0 else @@ -959,7 +967,6 @@ toSparse, toDense, scaled, - resizedTo, minValue, maxValue, asRows, @@ -974,6 +981,9 @@ product, entryWiseProduct, entryWiseDivide, + resizedTo, + repeatedHorizontal, + repeatedVertical, concatHorizontal, concatVertical, rowSlice, @@ -1020,7 +1030,6 @@ toSparse is matrix_t -> matrix_t, toDense is matrix_t -> matrix_t, scaled is number -> matrix_t -> matrix_t, - resizedTo is { rows is number, columns is number } -> matrix_t -> matrix_t, minValue is matrix_t -> number, maxValue is matrix_t -> number, asRows is matrix_t -> list<vec.vector_t>, @@ -1035,6 +1044,9 @@ product is matrix_t -> matrix_t -> matrix_t, entryWiseProduct is matrix_t -> matrix_t -> matrix_t, entryWiseDivide is matrix_t -> matrix_t -> matrix_t, + resizedTo is { rows is number, columns is number } -> matrix_t -> matrix_t, + repeatedHorizontal is number -> matrix_t -> matrix_t, + repeatedVertical is number -> matrix_t -> matrix_t, concatHorizontal is list<matrix_t> -> matrix_t, concatVertical is list<matrix_t> -> matrix_t, rowSlice is matrix_t -> number -> number -> matrix_t,
--- a/src/may/matrix/test/test_matrix.yeti Mon Mar 24 09:59:27 2014 +0000 +++ b/src/may/matrix/test/test_matrix.yeti Mon Mar 24 11:23:28 2014 +0000 @@ -445,6 +445,36 @@ [[1,4],[0,5],[3,6]]; ), +"repeated-horiz-\(name)": \( + compareMatrices + (mat.repeatedHorizontal 2 (fromColumns [[1,4],[0,5]])) + (fromColumns [[1,4],[0,5],[1,4],[0,5]]) and + compareMatrices + (mat.repeatedHorizontal 2 (fromRows [[1,0],[4,5]])) + (fromColumns [[1,4],[0,5],[1,4],[0,5]]) and + compareMatrices + (mat.repeatedHorizontal 0 (fromColumns [[1,4],[0,5]])) + (fromColumns []) and + compareMatrices + (mat.repeatedHorizontal 4 (fromColumns [[]])) + (fromColumns [[],[],[],[]]) +), + +"repeated-vert-\(name)": \( + compareMatrices + (mat.repeatedVertical 2 (fromRows [[1,4],[0,5]])) + (fromRows [[1,4],[0,5],[1,4],[0,5]]) and + compareMatrices + (mat.repeatedVertical 2 (fromColumns [[1,0],[4,5]])) + (fromRows [[1,4],[0,5],[1,4],[0,5]]) and + compareMatrices + (mat.repeatedVertical 0 (fromRows [[1,4],[0,5]])) + (fromRows []) and + compareMatrices + (mat.repeatedVertical 4 (fromRows [[]])) + (fromRows [[],[],[],[]]) +), + "concat-horiz-\(name)": \( compareMatrices (mat.concatHorizontal