diff options
author | dos-reis <gdr@axiomatics.org> | 2009-02-08 01:44:04 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-02-08 01:44:04 +0000 |
commit | 6d93161de89559ad66be655a50d3a5001c208c90 (patch) | |
tree | 30e165f0c3cf7d8eb28fae9fa9fc9dcf0acd3ab8 /src/algebra/intfact.spad.pamphlet | |
parent | 2fbcd8bc4f97cc3e534e11414f5a12dbc08edf2d (diff) | |
download | open-axiom-6d93161de89559ad66be655a50d3a5001c208c90.tar.gz |
Fix AW/66
* algebra/zerodim.spad.pamphlet: Restore use of one?
* algebra/updivp.spad.pamphlet: Likewise.
* algebra/unifact.spad.pamphlet: Likewise.
* algebra/triset.spad.pamphlet: Likewise.
* algebra/tools.spad.pamphlet: Likewise.
* algebra/suts.spad.pamphlet: Likewise.
* algebra/sttaylor.spad.pamphlet: Likewise.
* algebra/string.spad.pamphlet: Likewise.
* algebra/sregset.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet: Likewise.
* algebra/sf.spad.pamphlet: Likewise.
* algebra/riccati.spad.pamphlet: Likewise.
* algebra/rf.spad.pamphlet: Likewise.
* algebra/regset.spad.pamphlet: Likewise.
* algebra/rderf.spad.pamphlet: Likewise.
* algebra/rdeef.spad.pamphlet: Likewise.
* algebra/quat.spad.pamphlet: Likewise.
* algebra/puiseux.spad.pamphlet: Likewise.
* algebra/pscat.spad.pamphlet: Likewise.
* algebra/prtition.spad.pamphlet: Likewise.
* algebra/prs.spad.pamphlet: Likewise.
* algebra/primelt.spad.pamphlet: Likewise.
* algebra/polycat.spad.pamphlet: Likewise.
* algebra/poly.spad.pamphlet: Likewise.
* algebra/polset.spad.pamphlet: Likewise.
* algebra/pfo.spad.pamphlet: Likewise.
* algebra/perm.spad.pamphlet: Likewise.
* algebra/pattern.spad.pamphlet: Likewise.
* algebra/padiclib.spad.pamphlet:Likewise.
* algebra/openmath.spad.pamphlet: Likewise.
* algebra/opalg.spad.pamphlet: Likewise.
* algebra/op.spad.pamphlet: Likewise.
* algebra/omerror.spad.pamphlet: Likewise.
* algebra/oderf.spad.pamphlet: Likewise.
* algebra/odeef.spad.pamphlet: Likewise.
* algebra/oct.spad.pamphlet: Likewise.
* algebra/nlinsol.spad.pamphlet: Likewise.
* algebra/newpoly.spad.pamphlet: Likewise.
* algebra/naalgc.spad.pamphlet: Likewise.
* algebra/naalg.spad.pamphlet: Likewise.
* algebra/multpoly.spad.pamphlet: Likewise.
* algebra/mring.spad.pamphlet: Likewise.
* algebra/modring.spad.pamphlet: Likewise.
* algebra/moddfact.spad.pamphlet: Likewise.
* algebra/mkfunc.spad.pamphlet: Likewise.
* algebra/matstor.spad.pamphlet: Likewise.
* algebra/matrix.spad.pamphlet: Likewise.
* algebra/matcat.spad.pamphlet: Likewise.
* algebra/manip.spad.pamphlet: Likewise.
* algebra/lodof.spad.pamphlet: Likewise.
* algebra/liouv.spad.pamphlet: Likewise.
* algebra/laplace.spad.pamphlet: Likewise.
* algebra/irexpand.spad.pamphlet: Likewise.
* algebra/intrf.spad.pamphlet: Likewise.
* algebra/intpm.spad.pamphlet: Likewise.
* algebra/intfact.spad.pamphlet: Likewise.
* algebra/integer.spad.pamphlet: Likewise.
* algebra/intclos.spad.pamphlet: Likewise.
* algebra/intaux.spad.pamphlet: Likewise.
* algebra/intalg.spad.pamphlet: Likewise.
* algebra/intaf.spad.pamphlet: Likewise.
* algebra/gpol.spad.pamphlet: Likewise.
* algebra/gpgcd.spad.pamphlet: Likewise.
* algebra/gb.spad.pamphlet: Likewise.
* algebra/gaussian.spad.pamphlet: Likewise.
* algebra/galutil.spad.pamphlet: Likewise.
* algebra/galpolyu.spad.pamphlet: Likewise.
* algebra/galfact.spad.pamphlet: Likewise.
* algebra/fspace.spad.pamphlet: Likewise.
* algebra/fs2ups.spad.pamphlet: Likewise.
* algebra/fs2expxp.spad.pamphlet: Likewise.
* algebra/free.spad.pamphlet: Likewise.
* algebra/fraction.spad.pamphlet: Likewise.
* algebra/fr.spad.pamphlet: Likewise.
* algebra/fparfrac.spad.pamphlet: Likewise.
* algebra/fortran.spad.pamphlet: Likewise.
* algebra/fmod.spad.pamphlet: Likewise.
* algebra/float.spad.pamphlet: Likewise.
* algebra/ffx.spad.pamphlet: Likewise.
* algebra/ffnb.spad.pamphlet: Likewise.
* algebra/ffcg.spad.pamphlet: Likewise.
* algebra/ffcat.spad.pamphlet: Likewise.
* algebra/exprode.spad.pamphlet: Likewise.
* algebra/expr.spad.pamphlet: Likewise.
* algebra/expexpan.spad.pamphlet: Likewise.
* algebra/elemntry.spad.pamphlet: Likewise.
* algebra/efupxs.spad.pamphlet: Likewise.
* algebra/efuls.spad.pamphlet: Likewise.
* algebra/e04routine.spad.pamphlet: Likewise.
* algebra/e04agents.spad.pamphlet: Likewise.
* algebra/divisor.spad.pamphlet: Likewise.
* algebra/derham.spad.pamphlet: Likewise.
* algebra/defintrf.spad.pamphlet: Likewise.
* algebra/defintef.spad.pamphlet: Likewise.
* algebra/defaults.spad.pamphlet: Likewise.
* algebra/d03agents.spad.pamphlet: Likewise.
* algebra/d01weights.spad.pamphlet: Likewise.
* algebra/d01routine.spad.pamphlet: Likewise.
* algebra/d01agents.spad.pamphlet: Likewise.
* algebra/curve.spad.pamphlet: Likewise.
* algebra/crfp.spad.pamphlet: Likewise.
* algebra/cont.spad.pamphlet: Likewise.
* algebra/constant.spad.pamphlet: Likewise.
* algebra/complet.spad.pamphlet: Likewise.
* algebra/combfunc.spad.pamphlet: Likewise.
* algebra/catdef.spad.pamphlet: Likewise.
* algebra/brill.spad.pamphlet: Likewise.
* algebra/array1.spad.pamphlet: Likewise.
* algebra/algfunc.spad.pamphlet: Likewise.
* algebra/algfact.spad.pamphlet: Likewise.
Diffstat (limited to 'src/algebra/intfact.spad.pamphlet')
-rw-r--r-- | src/algebra/intfact.spad.pamphlet | 30 |
1 files changed, 10 insertions, 20 deletions
diff --git a/src/algebra/intfact.spad.pamphlet b/src/algebra/intfact.spad.pamphlet index 8e21b097..a1e08c3b 100644 --- a/src/algebra/intfact.spad.pamphlet +++ b/src/algebra/intfact.spad.pamphlet @@ -112,13 +112,11 @@ IntegerPrimesPackage(I:IntegerNumberSystem): with -- for most n this probability is much greater than 3/4 t := powmod(p, q, n) -- neither of these cases tells us anything --- if not (one? t or t = nm1) then - if not ((t = 1) or t = nm1) then + if not (one? t or t = nm1) then for j in 1..k-1 repeat oldt := t t := mulmod(t, t, n) --- one? t => return true - (t = 1) => return true + one? t => return true -- we have squared someting not -1 and got 1 t = nm1 => leave @@ -131,13 +129,11 @@ IntegerPrimesPackage(I:IntegerNumberSystem): with t := powmod(p, q, n) -- neither of these cases tells us anything if t=nm1 then count2Order(1):=count2Order(1)+1 --- if not (one? t or t = nm1) then - if not ((t = 1) or t = nm1) then + if not (one? t or t = nm1) then for j in 1..k-1 repeat oldt := t t := mulmod(t, t, n) --- one? t => return true - (t = 1) => return true + one? t => return true -- we have squared someting not -1 and got 1 t = nm1 => rootsMinus1:=union(rootsMinus1,oldt) @@ -150,8 +146,7 @@ IntegerPrimesPackage(I:IntegerNumberSystem): with prime? n == n < two => false n < nextSmallPrime => member?(n, smallPrimes) --- not one? gcd(n, productSmallPrimes) => false - not (gcd(n, productSmallPrimes) = 1) => false + not one? gcd(n, productSmallPrimes) => false n < nextSmallPrimeSquared => true nm1 := n-1 @@ -277,8 +272,7 @@ IntegerRoots(I:IntegerNumberSystem): Exports == Implementation where perfectNthRoot n == -- complexity (log log n)**2 (log n)**2 m:NNI --- one? n or zero? n or n = -1 => [n, 1] - (n = 1) or zero? n or n = -1 => [n, 1] + one? n or zero? n or n = -1 => [n, 1] e:NNI := 1 p:NNI := 2 while p::I <= length(n) + 1 repeat @@ -290,15 +284,13 @@ IntegerRoots(I:IntegerNumberSystem): Exports == Implementation where approxNthRoot(a, n) == -- complexity (log log n) (log n)**2 zero? n => error "invalid arguments" --- one? n => a - (n = 1) => a + one? n => a n=2 => approxSqrt a negative? a => odd? n => - approxNthRoot(-a, n) 0 zero? a => 0 --- one? a => 1 - (a = 1) => 1 + one? a => 1 -- quick check for case of large n ((3*n) quo 2)::I >= (l := length a) => two -- the initial approximation must be >= the root @@ -389,8 +381,7 @@ IntegerFactorizationPackage(I): Exports == Implementation where lim > (100000::I) => makeFR(u, factorList factor m) x := BasicSieve(m, lim) y := --- one?(m:= unit x) => factorList x - ((m:= unit x) = 1) => factorList x + one?(m:= unit x) => factorList x (v := perfectSqrt m) case I => concat_!(factorList x, ["sqfr",v,2]$FFE) concat_!(factorList x, ["sqfr",m,1]$FFE) @@ -484,8 +475,7 @@ IntegerFactorizationPackage(I): Exports == Implementation where else (n := m; u := 1) b := BasicSieve(n, 10000::I) flb := factorList b --- one?(n := unit b) => makeFR(u, flb) - ((n := unit b) = 1) => makeFR(u, flb) + one?(n := unit b) => makeFR(u, flb) a:LMI := dictionary() -- numbers yet to be factored b:LMI := dictionary() -- prime factors found f:LMI := dictionary() -- number which could not be factored |