]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/benchmark/nsieve/nsieve.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / extra / benchmark / nsieve / nsieve.factor
index b9200fb2bbdc4e84717a88c563b1b25edbaa42f1..646c98f3a4214f2da60b9e0b06fecb31676d0b7c 100644 (file)
@@ -1,26 +1,26 @@
-IN: benchmark.nsieve
 USING: math math.parser sequences sequences.private kernel
-arrays namespaces io ;
+arrays make io ;
+IN: benchmark.nsieve
 
 : clear-flags ( step i seq -- )
     2dup length >= [
         3drop
     ] [
-        f pick pick set-nth-unsafe >r over + r> clear-flags
-    ] if ; inline
+        f 2over set-nth-unsafe [ over + ] dip clear-flags
+    ] if ; inline recursive
 
 : (nsieve) ( count i seq -- count )
-    2dup length <= [
+    2dup length < [
         2dup nth-unsafe [
             over dup 2 * pick clear-flags
-            rot 1+ -rot ! increment count
-        ] when >r 1+ r> (nsieve)
+            rot 1 + -rot ! increment count
+        ] when [ 1 + ] dip (nsieve)
     ] [
         2drop
-    ] if ; inline
+    ] if ; inline recursive
 
 : nsieve ( m -- count )
-    0 2 rot 1+ t <array> (nsieve) ;
+    0 2 rot 1 + t <array> (nsieve) ;
 
 : nsieve. ( m -- )
     [ "Primes up to " % dup # " " % nsieve # ] "" make print ;
@@ -30,6 +30,6 @@ arrays namespaces io ;
     dup 1 - 2^ 10000 * nsieve.
     2 - 2^ 10000 * nsieve. ;
 
-: nsieve-main* 9 nsieve-main ;
+: nsieve-main* ( -- ) 9 nsieve-main ;
 
 MAIN: nsieve-main*