diff yetilab/vector/vector.yeti @ 236:ccca84efa36a sparse

Extract values and slices (rows, columns) from sparse matrices
author Chris Cannam
date Sun, 19 May 2013 22:16:02 +0100
parents c00d8f7e2708
children 9fe3192cce38
line wrap: on
line diff
--- a/yetilab/vector/vector.yeti	Sun May 19 21:13:48 2013 +0100
+++ b/yetilab/vector/vector.yeti	Sun May 19 22:16:02 2013 +0100
@@ -72,6 +72,9 @@
 rangeOf start len v is number -> number -> ~double[] -> ~double[] =
     Arrays#copyOfRange(v, start, start + len);
 
+slice v start end is ~double[] -> number -> number -> ~double[] =
+    rangeOf start (end - start) v;
+
 resizedTo n v is number -> ~double[] -> ~double[] =
     Arrays#copyOf(v, n);
 
@@ -103,6 +106,7 @@
     equal,
     equalUnder,
     rangeOf,
+    slice,
     resizedTo,
     concat,
 } as {
@@ -122,6 +126,7 @@
     equal is vector -> vector -> boolean,
     equalUnder is (number -> number -> boolean) -> vector -> vector -> boolean,
     rangeOf is number -> number -> vector -> vector, //!!! not well-named now vector arg is at the end
+    slice is vector -> number -> number -> vector, //!!! duplication with rangeOf (std module function on arrays is called slice though)
     resizedTo is number -> vector -> vector,
     concat is list?<vector> -> vector,
 }