aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/polycat.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2011-03-09 23:54:10 +0000
committerdos-reis <gdr@axiomatics.org>2011-03-09 23:54:10 +0000
commit8c47810df65c610513d4be825bd6ee9a56f97f9f (patch)
tree7117bf9c5177324de1e4a012b635ed667dec817f /src/algebra/polycat.spad.pamphlet
parentccd024277fb8eab4a8b22ed160f4da1609dd94e9 (diff)
downloadopen-axiom-8c47810df65c610513d4be825bd6ee9a56f97f9f.tar.gz
* algebra/catdef.spad.pamphlet (StepThrough) [nextItem]: Now
return Maybe %. * algebra/ffcat.spad.pamphlet: Propagate change. * algebra/fmod.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/pfbr.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise.
Diffstat (limited to 'src/algebra/polycat.spad.pamphlet')
-rw-r--r--src/algebra/polycat.spad.pamphlet20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/algebra/polycat.spad.pamphlet b/src/algebra/polycat.spad.pamphlet
index 8931a6de..499b3903 100644
--- a/src/algebra/polycat.spad.pamphlet
+++ b/src/algebra/polycat.spad.pamphlet
@@ -842,25 +842,25 @@ UnivariatePolynomialCategory(R:Ring): Category ==
if R has StepThrough then
init() == init()$R::%
- nextItemInner: % -> Union(%,"failed")
+ nextItemInner: % -> Maybe %
nextItemInner(n) ==
- zero? n => nextItem(0$R)::R::% -- assumed not to fail
+ zero? n => just(nextItem(0$R)::R::%) -- assumed not to fail
zero? degree n =>
nn:=nextItem leadingCoefficient n
- nn case "failed" => "failed"
- nn::R::%
+ nn case nothing => nothing
+ just(nn::R::%)
n1:=reductum n
n2:=nextItemInner n1 -- try stepping the reductum
- n2 case % => monomial(leadingCoefficient n,degree n) + n2
+ n2 case % => just(monomial(leadingCoefficient n,degree n) + n2)
1+degree n1 < degree n => -- there was a hole between lt n and n1
- monomial(leadingCoefficient n,degree n)+
- monomial(nextItem(init()$R)::R,1+degree n1)
+ just(monomial(leadingCoefficient n,degree n)+
+ monomial(nextItem(init()$R)::R,1+degree n1))
n3:=nextItem leadingCoefficient n
- n3 case "failed" => "failed"
- monomial(n3,degree n)
+ n3 case nothing => nothing
+ just monomial(n3,degree n)
nextItem(n) ==
n1:=nextItemInner n
- n1 case "failed" => monomial(nextItem(init()$R)::R,1+degree(n))
+ n1 case nothing => just monomial(nextItem(init()$R)::R,1+degree(n))
n1
if R has GcdDomain then