]> gitweb.factorcode.org Git - factor.git/commitdiff
circular: Fix rotate-circular
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 9 Jun 2009 23:28:53 +0000 (18:28 -0500)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 9 Jun 2009 23:28:53 +0000 (18:28 -0500)
basis/circular/circular-tests.factor
basis/circular/circular.factor

index 3a94e14640d8614f0a4bbe7efdb4719486186765..b4a9d547f2edc888bde7efce60371f3f53616502 100644 (file)
@@ -13,6 +13,7 @@ circular strings ;
  
 [ [ 1 2 3 ] ] [ { 1 2 3 } <circular> [ ] like ] unit-test
 [ [ 2 3 1 ] ] [ { 1 2 3 } <circular> [ rotate-circular ] keep [ ] like ] unit-test
+[ [ 3 1 2 ] ] [ { 1 2 3 } <circular> [ rotate-circular ] keep [ rotate-circular ] keep [ ] like ] unit-test
 [ [ 2 3 1 ] ] [ { 1 2 3 } <circular> 1 over change-circular-start [ ] like ] unit-test
 [ [ 3 1 2 ] ] [ { 1 2 3 } <circular> 1 over change-circular-start 1 over change-circular-start [ ] like ] unit-test
 [ [ 3 1 2 ] ] [ { 1 2 3 } <circular> -100 over change-circular-start [ ] like ] unit-test
index ae79e70d7356a0ef558905e31e284804c9e15218..d47b954ecfb1b555c4d905609347c6692a40e99d 100644 (file)
@@ -28,10 +28,10 @@ M: circular virtual-seq seq>> ;
     circular-wrap (>>start) ;
 
 : rotate-circular ( circular -- )
-    [ start>> 1 + ] keep circular-wrap (>>start) ;
+    [ 1 ] dip change-circular-start ;
 
 : push-circular ( elt circular -- )
-    [ set-first ] [ 1 swap change-circular-start ] bi ;
+    [ set-first ] [ rotate-circular ] bi ;
 
 : <circular-string> ( n -- circular )
     0 <string> <circular> ;