RunArray.st
changeset 871 b44445dc4ac6
parent 630 55973d9fee59
child 892 90a4022c52a1
--- a/RunArray.st	Sat Jan 22 17:36:15 2000 +0100
+++ b/RunArray.st	Sat Jan 22 20:29:13 2000 +0100
@@ -246,6 +246,17 @@
     "
 
     "Modified: / 30.10.1997 / 14:36:38 / cg"
+!
+
+runs:runs values:values
+    "return a new runArray, containing elements defined by pairs from
+     runs and values"
+
+    ^ self basicNew setElementsFromRuns:runs values:values
+
+    "
+     RunArray runs:#(2 3 4) values:#($a $b $c)
+    "
 ! !
 
 !RunArray methodsFor:'accessing'!
@@ -966,6 +977,18 @@
     "
 
     "Modified: / 7.4.1998 / 09:33:57 / cg"
+!
+
+setElementsFromRuns:runs values:values
+    |idx|
+
+    contentsArray := Array new:(runs size * 2).
+    idx := 1.
+    runs with:values do:[:length :value |
+        contentsArray at:idx put:length.
+        contentsArray at:idx+1 put:value.
+        idx := idx + 2.
+    ].
 ! !
 
 !RunArray methodsFor:'searching'!
@@ -1122,5 +1145,5 @@
 !RunArray class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic2/RunArray.st,v 1.14 1998-04-07 07:52:08 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic2/RunArray.st,v 1.15 2000-01-22 19:29:13 cg Exp $'
 ! !