]> gitweb.factorcode.org Git - factor.git/commitdiff
fix miller-rabin
authorDoug Coleman <erg@jobim.local>
Wed, 6 May 2009 19:10:29 +0000 (14:10 -0500)
committerDoug Coleman <erg@jobim.local>
Wed, 6 May 2009 19:10:29 +0000 (14:10 -0500)
basis/math/miller-rabin/miller-rabin.factor

index 8c36dd96fe76a3348c2940448eff638b19b57c9d..5e999aa9561959d0a24dfd5b4766c6c5813b72e2 100755 (executable)
@@ -8,6 +8,8 @@ IN: math.miller-rabin
 
 : >odd ( n -- int ) dup even? [ 1 + ] when ; foldable
 
+: >even ( n -- int ) 0 clear-bit ; foldable
+
 TUPLE: positive-even-expected n ;
 
 :: (miller-rabin) ( n trials -- ? )
@@ -97,6 +99,7 @@ PRIVATE>
     } 1&& ;
 
 : next-safe-prime ( n -- q )
+    1 - >even 2 /
     next-safe-prime-candidate
     dup >safe-prime-form
     dup miller-rabin