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/fraction.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/fraction.spad.pamphlet')
-rw-r--r-- | src/algebra/fraction.spad.pamphlet | 39 |
1 files changed, 13 insertions, 26 deletions
diff --git a/src/algebra/fraction.spad.pamphlet b/src/algebra/fraction.spad.pamphlet index 6fd77e97..56d14743 100644 --- a/src/algebra/fraction.spad.pamphlet +++ b/src/algebra/fraction.spad.pamphlet @@ -66,12 +66,10 @@ Localize(M:Module R, [x.num,u] m/d == if zero? d then error "division by zero" else [m,d] coerce(x:%):OutputForm == --- one?(xd:=x.den) => (x.num)::OutputForm - ((xd:=x.den) = 1) => (x.num)::OutputForm + one?(xd:=x.den) => (x.num)::OutputForm (x.num)::OutputForm / (xd::OutputForm) latex(x:%): String == --- one?(xd:=x.den) => latex(x.num) - ((xd:=x.den) = 1) => latex(x.num) + one?(xd:=x.den) => latex(x.num) nl : String := concat("{", concat(latex(x.num), "}")$String)$String dl : String := concat("{", concat(latex(x.den), "}")$String)$String concat("{ ", concat(nl, concat(" \over ", concat(dl, " }")$String)$String)$String)$String @@ -324,13 +322,11 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with if S has GcdDomain and S has canonicalUnitNormal then retract(x:%):S == --- one?(x.den) => x.num - ((x.den) = 1) => x.num + one?(x.den) => x.num error "Denominator not equal to 1" retractIfCan(x:%):Union(S, "failed") == --- one?(x.den) => x.num - ((x.den) = 1) => x.num + one?(x.den) => x.num "failed" else retract(x:%):S == @@ -341,21 +337,18 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with if S has EuclideanDomain then wholePart x == --- one?(x.den) => x.num - ((x.den) = 1) => x.num + one?(x.den) => x.num x.num quo x.den if S has IntegerNumberSystem then floor x == --- one?(x.den) => x.num - ((x.den) = 1) => x.num + one?(x.den) => x.num x < 0 => -ceiling(-x) wholePart x ceiling x == --- one?(x.den) => x.num - ((x.den) = 1) => x.num + one?(x.den) => x.num x < 0 => -floor(-x) 1 + wholePart x @@ -414,8 +407,7 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with normalize x == zero?(x.num) => 0 --- one?(x.den) => x - ((x.den) = 1) => x + one?(x.den) => x uca := unitNormal(x.den) zero?(x.den := uca.canonical) => error "division by zero" x.num := x.num * uca.associate @@ -426,8 +418,7 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with normalize [x.den, x.num] cancelGcd x == --- one?(x.den) => x.den - ((x.den) = 1) => x.den + one?(x.den) => x.den d := gcd(x.num, x.den) xn := x.num exquo d xn case "failed" => @@ -475,10 +466,8 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with x:% * y:% == zero? x or zero? y => 0 --- one? x => y - (x = 1) => y --- one? y => x - (y = 1) => x + one? x => y + one? y => x (x, y) := ([x.num, y.den], [y.num, x.den]) cancelGcd x; cancelGcd y; normalize [x.num * y.num, x.den * y.den] @@ -506,8 +495,7 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with x = y == (x.num = y.num) and (x.den = y.den) --x / dd == (cancelGcd (z:=[x.num,dd*x.den]); normalize z) --- one? x == one? (x.num) and one? (x.den) - one? x == ((x.num) = 1) and ((x.den) = 1) + one? x == one? (x.num) and one? (x.den) -- again assuming canonical nature of representation else @@ -549,8 +537,7 @@ Fraction(S: IntegralDomain): QuotientFieldCategory S with qqD:DP:=map(retract(#1*denqq),qq) g:=gcdPolynomial(ppD,qqD) zero? degree g => 1 --- one? (lc:=leadingCoefficient g) => map(#1::%,g) - ((lc:=leadingCoefficient g) = 1) => map(#1::%,g) + one? (lc:=leadingCoefficient g) => map(#1::%,g) map(#1 / lc,g) if (S has PolynomialFactorizationExplicit) then |