find-relative-prime didn't handle numbers <= 1 correctly

db4
Doug Coleman 2008-05-10 13:18:13 -05:00
parent 9da8bed8f9
commit d33b57506a
1 changed files with 4 additions and 0 deletions

View File

@ -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 )