RunArray.st
changeset 4776 7259a694e36d
parent 4775 03b9f6efd595
child 4805 6e49b5b5f8c3
--- a/RunArray.st	Tue Dec 11 11:54:44 2018 +0100
+++ b/RunArray.st	Tue Dec 11 21:28:13 2018 +0100
@@ -825,7 +825,7 @@
 copyFrom:start to:stop
     "return a new collection, containing the elements from start to stop"
 
-    |runStart runNext newRuns idx copying|
+    |srcIdx endIdx runStart runNext newRuns idx copying len val|
 
     (contentsArray notNil 
     and:[stop >= start]) ifTrue:[
@@ -833,7 +833,13 @@
         runStart := 1.
         idx := start.
         copying := false.
-        contentsArray pairWiseDo:[:len :val | 
+        srcIdx := 1.
+        endIdx := contentsArray size.
+        [srcIdx < endIdx] whileTrue:[
+            len := contentsArray at:srcIdx.
+            val := contentsArray at:srcIdx+1.
+            srcIdx := srcIdx + 2.
+            
             runNext := runStart + len.
         
             copying ifFalse:[
@@ -874,7 +880,8 @@
      r copyFrom:1 to:20      
     "
 
-    "Modified: 18.5.1996 / 19:28:47 / cg"
+    "Modified: / 18-05-1996 / 19:28:47 / cg"
+    "Modified: / 11-12-2018 / 20:59:27 / Claus Gittinger"
 !
 
 postCopy