From d33b57506a197cdf1ed59ffa16b20bcc46bc0e80 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Sat, 10 May 2008 13:18:13 -0500 Subject: [PATCH] find-relative-prime didn't handle numbers <= 1 correctly --- extra/math/miller-rabin/miller-rabin.factor | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/extra/math/miller-rabin/miller-rabin.factor b/extra/math/miller-rabin/miller-rabin.factor index 2e83fe5ab0..f1953340db 100755 --- a/extra/math/miller-rabin/miller-rabin.factor +++ b/extra/math/miller-rabin/miller-rabin.factor @@ -50,7 +50,11 @@ TUPLE: positive-even-expected n ; : random-prime ( numbits -- p ) random-bits next-prime ; +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 ; : find-relative-prime* ( n guess -- p )