Mercurial > hg > may
changeset 239:741784624bb6 sparse
Sparse fixes
author | Chris Cannam |
---|---|
date | Mon, 20 May 2013 14:40:52 +0100 |
parents | 0c86d9284f20 |
children | f22ae9bfe49f |
files | yetilab/matrix/matrix.yeti |
diffstat | 1 files changed, 7 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/yetilab/matrix/matrix.yeti Mon May 20 14:18:14 2013 +0100 +++ b/yetilab/matrix/matrix.yeti Mon May 20 14:40:52 2013 +0100 @@ -51,7 +51,7 @@ end = d.pointers[n+1]; { values = vec.slice d.values start end, - indices = slice d.indices start d.pointers[n+1], + indices = slice d.indices start end, }); fromSlice n m d = @@ -67,9 +67,9 @@ filledSlice n d = (slice = sparseSlice n d; dslice = new double[d.extent]; - \() (map2 do v i: - dslice[i] := v - done (vec.list slice.values) (list slice.indices)); + for [0..length slice.indices - 1] do i: + dslice[slice.indices[i]] := vec.at i slice.values; + done; vec.vector dslice); getAt row col m = @@ -189,7 +189,7 @@ tagger { values = vec.fromList (map (.v) ordered), indices = array (map (.min) ordered), - pointers = array (majorPointers [] majorSize 0 0 (map (.maj) ordered)), + pointers = array (majorPointers [0] majorSize 0 0 (map (.maj) ordered)), extent = minorSize, }); @@ -460,6 +460,7 @@ equalUnder, transposed, flipped, + enumerateSparse, toRowMajor, toColumnMajor, toSparse, @@ -501,6 +502,7 @@ equalUnder is (number -> number -> boolean) -> matrix -> matrix -> boolean, transposed is matrix -> matrix, flipped is matrix -> matrix, + enumerateSparse is matrix -> list<{ i is number, j is number, v is number }>, toRowMajor is matrix -> matrix, toColumnMajor is matrix -> matrix, toSparse is number -> matrix -> matrix,