aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/fraction.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-02-08 01:44:04 +0000
committerdos-reis <gdr@axiomatics.org>2009-02-08 01:44:04 +0000
commit6d93161de89559ad66be655a50d3a5001c208c90 (patch)
tree30e165f0c3cf7d8eb28fae9fa9fc9dcf0acd3ab8 /src/algebra/fraction.spad.pamphlet
parent2fbcd8bc4f97cc3e534e11414f5a12dbc08edf2d (diff)
downloadopen-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.pamphlet39
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