]> gitweb.factorcode.org Git - factor.git/commitdiff
sequences.extras: reverse stack effect for start-all/count-subseq.
authorJohn Benediktsson <mrjbq7@gmail.com>
Tue, 23 Mar 2021 16:49:54 +0000 (09:49 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Tue, 23 Mar 2021 16:49:54 +0000 (09:49 -0700)
extra/sequences/extras/extras-tests.factor
extra/sequences/extras/extras.factor

index 769af29bdce9bcfac606d1e524d75dac813dce43..69b02869a8376f7e602bfc18080f5fe1295fba52 100644 (file)
@@ -234,11 +234,11 @@ tools.test vectors vocabs ;
 
 { 3/10 } [ 10 <iota> [ 3 < ] count* ] unit-test
 
-{ { 0 } } [ "ABA" "ABABA" start-all ] unit-test
-{ { 0 2 } } [ "ABA" "ABABA" start-all* ] unit-test
-{ { 0 3 } } [ "ABA" "ABAABA" start-all ] unit-test
-{ 1 } [ "ABA" "ABABA" count-subseq ] unit-test
-{ 2 } [ "ABA" "ABABA" count-subseq* ] unit-test
+{ { 0 } } [ "ABABA" "ABA" start-all ] unit-test
+{ { 0 2 } } [ "ABABA" "ABA" start-all* ] unit-test
+{ { 0 3 } } [ "ABAABA" "ABA" start-all ] unit-test
+{ 1 } [ "ABABA" "ABA" count-subseq ] unit-test
+{ 2 } [ "ABABA" "ABA" count-subseq* ] unit-test
 
 { 120000 } [ { 10 20 30 40 50 60 } 1 [ * ] 3 reduce-from ] unit-test
 
index 910954adf350f261a1f67ed19847c4d93d571400..b8d8eb89d79f17bd1816912f40844b7c7e33b5fc 100644 (file)
@@ -599,21 +599,21 @@ PRIVATE>
 : map-find-last-index ( ... seq quot: ( ... elt index -- ... result/f ) -- ... result i elt )
     [ find-last-index ] (map-find-index) ; inline
 
-:: (start-all) ( subseq seq increment -- indices )
+:: (start-all) ( seq subseq increment -- indices )
     0
     [ [ subseq seq ] dip subseq-start-from dup ]
     [ [ increment + ] keep ] produce nip ;
 
-: start-all ( subseq seq -- indices )
-    over length (start-all) ; inline
+: start-all ( seq subseq -- indices )
+    dup length (start-all) ; inline
 
-: start-all* ( subseq seq -- indices )
+: start-all* ( seq subseq -- indices )
     1 (start-all) ; inline
 
-: count-subseq ( subseq seq -- n )
+: count-subseq ( seq subseq -- n )
     start-all length ; inline
 
-: count-subseq* ( subseq seq -- n )
+: count-subseq* ( seq subseq -- n )
     start-all* length ; inline
 
 : assoc-zip-with ( quot: ( key value -- calc ) -- alist )