]> gitweb.factorcode.org Git - factor.git/commitdiff
Do not repeat sanity tests at each iteration
authorSamuel Tardieu <sam@rfc1149.net>
Sun, 30 Aug 2009 19:14:26 +0000 (21:14 +0200)
committerSamuel Tardieu <sam@rfc1149.net>
Wed, 9 Sep 2009 19:35:24 +0000 (21:35 +0200)
basis/math/primes/primes.factor

index 27743a4a85780f45c2ee6006ab8da325d83c15b9..81193af400bfa749003a2b01b831b5e9dfb059c3 100644 (file)
@@ -69,7 +69,7 @@ ERROR: no-relative-prime n ;
 : (find-relative-prime) ( n guess -- p )
     over 1 <= [ over no-relative-prime ] when
     dup 1 <= [ drop 3 ] when
-    2dup gcd nip 1 > [ 2 + (find-relative-prime) ] [ nip ] if ;
+    [ 2dup coprime? ] [ 2 + ] until nip ;
 
 PRIVATE>