Make next-odd public again as it's used elsewhere
parent
6704a1bb3e
commit
7f6998a815
|
@ -1,4 +1,4 @@
|
||||||
! Copyright (C) 2008 Doug Coleman.
|
! Copyright (c) 2008-2009 Doug Coleman.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: combinators kernel locals math math.functions math.ranges
|
USING: combinators kernel locals math math.functions math.ranges
|
||||||
random sequences sets combinators.short-circuit math.bitwise
|
random sequences sets combinators.short-circuit math.bitwise
|
||||||
|
@ -13,8 +13,6 @@ IN: math.miller-rabin
|
||||||
|
|
||||||
: next-even ( m -- n ) >even 2 + ;
|
: next-even ( m -- n ) >even 2 + ;
|
||||||
|
|
||||||
: next-odd ( m -- n ) dup even? [ 1 + ] [ 2 + ] if ;
|
|
||||||
|
|
||||||
TUPLE: positive-even-expected n ;
|
TUPLE: positive-even-expected n ;
|
||||||
|
|
||||||
:: (miller-rabin) ( n trials -- ? )
|
:: (miller-rabin) ( n trials -- ? )
|
||||||
|
@ -29,12 +27,14 @@ TUPLE: positive-even-expected n ;
|
||||||
] [
|
] [
|
||||||
r iota [
|
r iota [
|
||||||
2^ s * a swap n ^mod n - -1 =
|
2^ s * a swap n ^mod n - -1 =
|
||||||
] any? not
|
] any? not
|
||||||
] if
|
] if
|
||||||
] any? not ;
|
] any? not ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
: next-odd ( m -- n ) dup even? [ 1 + ] [ 2 + ] if ;
|
||||||
|
|
||||||
: miller-rabin* ( n numtrials -- ? )
|
: miller-rabin* ( n numtrials -- ? )
|
||||||
over {
|
over {
|
||||||
{ [ dup 1 <= ] [ 3drop f ] }
|
{ [ dup 1 <= ] [ 3drop f ] }
|
||||||
|
|
Loading…
Reference in New Issue