]> gitweb.factorcode.org Git - factor.git/commitdiff
Optimize erato sieve
authorSamuel Tardieu <sam@rfc1149.net>
Sun, 28 Dec 2008 10:43:13 +0000 (11:43 +0100)
committerSamuel Tardieu <sam@rfc1149.net>
Sun, 28 Dec 2008 10:43:13 +0000 (11:43 +0100)
We started crossing the numbers at 3*n, while we can start at n^2.

extra/math/primes/erato/erato.factor

index f4409038bbf99382b0b4fee7d60ed886e4f1d656..effcd7b1358bff55723397ecbc2d61b1e68e25ce 100644 (file)
@@ -8,7 +8,7 @@ IN: math.primes.erato
     2 * 3 + ; inline
 
 : mark-multiples ( i arr -- )
-    [ dup index> [ + ] keep ] dip
+    [ index> [ sq >index ] keep ] dip
     [ length 1 - swap <range> f swap ] keep
     [ set-nth ] curry with each ;