diff matrix.yeti @ 3:29e39209360b

Actual audio file read code; implement deinterleaved
author Chris Cannam
date Thu, 06 Dec 2012 22:19:29 +0000
parents 51c7fea7d805
children 12c6f103ba8e
line wrap: on
line diff
--- a/matrix.yeti	Sun Dec 02 12:09:32 2012 +0000
+++ b/matrix.yeti	Thu Dec 06 22:19:29 2012 +0000
@@ -19,6 +19,8 @@
 
 height m = length m;
 
+dimensions m = { cols = width m, rows = height m };
+
 transposed m = array
    (map do n: array
        (map do a: a[n-1] done m)
@@ -26,5 +28,16 @@
 
 interleaved m = array(concat(transposed m));
 
-{ generateMatrix, constMatrix, randomMatrix, zeroMatrix, identityMatrix, interleaved, width, height, zeros, ones, transposed }
+deinterleaved rows v =
+    generateMatrix do row col:
+        v[rows * col + row]
+    done rows (length v / rows);
 
+{
+zeros, ones,
+generateMatrix, constMatrix, randomMatrix, zeroMatrix, identityMatrix,
+width, height, dimensions,
+transposed,
+interleaved, deinterleaved,
+}
+