diff options
Diffstat (limited to 'src/algebra/intfact.spad.pamphlet')
-rw-r--r-- | src/algebra/intfact.spad.pamphlet | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/algebra/intfact.spad.pamphlet b/src/algebra/intfact.spad.pamphlet index 8615cf7f..dc7629d1 100644 --- a/src/algebra/intfact.spad.pamphlet +++ b/src/algebra/intfact.spad.pamphlet @@ -151,8 +151,10 @@ IntegerPrimesPackage(I:IntegerNumberSystem): with nm1 := n-1 q := (nm1) quo two - k : NonNegativeInteger - for k in 1.. while not odd? q repeat q := q quo two + k: NonNegativeInteger := 1 + while not odd? q repeat + q := q quo two + k := k + 1 -- q = (n-1) quo 2**k for largest possible k n < JaeschkeLimit => @@ -457,8 +459,10 @@ IntegerFactorizationPackage(I): Exports == Implementation where if n<d*d then if n>1 then ls := concat!(ls, ["prime",n,1]$FFE) return makeFR(1, ls) - m : Integer - for m in 0.. while zero?(n rem d) repeat n := n quo d + m: Integer := 0 + while zero?(n rem d) repeat + n := n quo d + m := m + 1 if m>0 then ls := concat!(ls, ["prime",d,convert m]$FFE) d := d+s @@ -496,8 +500,10 @@ IntegerFactorizationPackage(I): Exports == Implementation where insert!(x+y,a,c) insert!(x-y,a,c) (d := PollardSmallFactor20 n) case I => - m' : NonNegativeInteger - for m' in 0.. while zero?(n rem d) repeat n := n quo d + m': NonNegativeInteger := 0 + while zero?(n rem d) repeat + n := n quo d + m' := m' + 1 insert!(d, a, m' * c) if n > 1 then insert!(n, a, c) -- an elliptic curve factorization attempt should be made here |