Mercurial > hg > may
diff floatrix.yeti @ 7:c5dc45708e74
Finish initial set of functions in primitive-array backed matrix; use in audiofile
author | Chris Cannam |
---|---|
date | Wed, 12 Dec 2012 17:12:34 +0000 |
parents | 0718b9253e59 |
children | dc72a1d15901 |
line wrap: on
line diff
--- a/floatrix.yeti Wed Dec 12 15:55:08 2012 +0000 +++ b/floatrix.yeti Wed Dec 12 17:12:34 2012 +0000 @@ -36,25 +36,25 @@ transposed m is array<~double[]> -> array<~double[]> = generateMatrix do row col: m[col][row] done (cols m) (rows m); +interleaved m = + ({ cols, rows } = dimensions m; + v = zeros (cols * rows); + for [0..rows-1] do row: + for [0..cols-1] do col: + v[col * rows + row] := m[row][col]; + done; + done; + v); - -/* - -interleaved m = array(concat(transposed m)); - -deinterleaved rows v = +deinterleaved rows v is number -> ~double[] -> 'a = generateMatrix do row col: v[rows * col + row] - done rows (length v / rows); -*/ + done rows (length (arrayWrap v) / rows); { zeros, ones, generateMatrix, constMatrix, randomMatrix, zeroMatrix, identityMatrix, width, cols, height, rows, dimensions, -transposed, -/* -interleaved, deinterleaved, -*/ +transposed, interleaved, deinterleaved, }