aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/patmatch1.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-05-25 05:29:46 +0000
committerdos-reis <gdr@axiomatics.org>2009-05-25 05:29:46 +0000
commit785f36fcc98e8cbbd206342a73b274bc361508d6 (patch)
tree2cb0c951f79e8fd7a3c77832b9c9098c608d8eb5 /src/algebra/patmatch1.spad.pamphlet
parent67eb28e8fcfd246d7f149c00bdd3089e2f606676 (diff)
downloadopen-axiom-785f36fcc98e8cbbd206342a73b274bc361508d6.tar.gz
Partial fix for AW/193 and AW/334.
* algebra/algfunc.spad.pamphlet: Remove OrderedSet requirements. * algebra/combfunc.spad.pamphlet: Likewise. * algebra/defintef.spad.pamphlet: Likewise. * algebra/defintrf.spad.pamphlet: Likewise. * algebra/degred.spad.pamphlet: Likewise. * algebra/efstruc.spad.pamphlet: Likewise. * algebra/elemntry.spad.pamphlet: Likewise. * algebra/expexpan.spad.pamphlet: Likewise. * algebra/expr.spad.pamphlet: Likewise. * algebra/expr2ups.spad.pamphlet: Likewise. * algebra/exprode.spad.pamphlet: Likewise. * algebra/fortran.spad.pamphlet: Likewise. * algebra/fr.spad.pamphlet: Likewise. * algebra/fraction.spad.pamphlet: Likewise. * algebra/fs2expxp.spad.pamphlet: Likewise. * algebra/fspace.spad.pamphlet: Likewise. * algebra/funcpkgs.spad.pamphlet: Likewise. * algebra/gaussian.spad.pamphlet: Likewise. * algebra/genups.spad.pamphlet: Likewise. * algebra/intalg.spad.pamphlet: Likewise. * algebra/intef.spad.pamphlet: Likewise. * algebra/integrat.spad.pamphlet: Likewise. * algebra/intpm.spad.pamphlet: Likewise. * algebra/irexpand.spad.pamphlet: Likewise. * algebra/kl.spad.pamphlet: Likewise. * algebra/laplace.spad.pamphlet: Likewise. * algebra/limitps.spad.pamphlet: Likewise. * algebra/liouv.spad.pamphlet: Likewise. * algebra/manip.spad.pamphlet: Likewise. * algebra/nlode.spad.pamphlet: Likewise. * algebra/odeef.spad.pamphlet: Likewise. * algebra/oderf.spad.pamphlet: Likewise. * algebra/openmath.spad.pamphlet: Likewise. * algebra/patmatch1.spad.pamphlet: Likewise. * algebra/patmatch2.spad.pamphlet: Likewise. * algebra/pfo.spad.pamphlet: Likewise. * algebra/polycat.spad.pamphlet: Likewise. * algebra/primelt.spad.pamphlet: Likewise. * algebra/rdeef.spad.pamphlet: Likewise. * algebra/rdesys.spad.pamphlet: Likewise. * algebra/rule.spad.pamphlet: Likewise. * algebra/solverad.spad.pamphlet: Likewise. * algebra/sum.spad.pamphlet: Likewise. * algebra/transsolve.spad.pamphlet: Likewise. * testsuite/interpreter/aw-193.input: New. * testsuite/interpreter/aw-334.input: Likewise.
Diffstat (limited to 'src/algebra/patmatch1.spad.pamphlet')
-rw-r--r--src/algebra/patmatch1.spad.pamphlet11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/algebra/patmatch1.spad.pamphlet b/src/algebra/patmatch1.spad.pamphlet
index 8d6408ed..087b8c71 100644
--- a/src/algebra/patmatch1.spad.pamphlet
+++ b/src/algebra/patmatch1.spad.pamphlet
@@ -263,7 +263,7 @@ PatternMatchSymbol(S:SetCategory): with
++ Keywords: pattern, matching, kernel.
PatternMatchKernel(S, E): Exports == Implementation where
S: SetCategory
- E: Join(OrderedSet, RetractableTo Kernel %,
+ E: Join(SetCategory, RetractableTo Kernel %,
ConvertibleTo Pattern S, PatternMatchable S)
PAT ==> Pattern S
@@ -460,7 +460,7 @@ PatternMatchPushDown(S, A, B): Exports == Implementation where
++ Keywords: pattern, matching, tools.
PatternMatchTools(S, R, P): Exports == Implementation where
S: SetCategory
- R: Join(Ring, OrderedSet)
+ R: Ring
P: Join(Ring, ConvertibleTo Pattern S, RetractableTo R)
PAT ==> Pattern S
@@ -498,9 +498,10 @@ PatternMatchTools(S, R, P): Exports == Implementation where
mn1 := convert(-1::P)@Pattern(S)
negConstant l ==
- for x in l repeat
- ((r := retractIfCan(x)@Union(R, "failed")) case R) and
- (r::R < 0) => return x
+ if R has OrderedSet then
+ for x in l repeat
+ ((r := retractIfCan(x)@Union(R, "failed")) case R) and
+ (r::R < 0) => return x
"failed"
-- tries to match the list of patterns lp to the list of subjects rc.s