diff options
author | dos-reis <gdr@axiomatics.org> | 2009-05-25 05:29:46 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2009-05-25 05:29:46 +0000 |
commit | 785f36fcc98e8cbbd206342a73b274bc361508d6 (patch) | |
tree | 2cb0c951f79e8fd7a3c77832b9c9098c608d8eb5 /src/algebra/patmatch1.spad.pamphlet | |
parent | 67eb28e8fcfd246d7f149c00bdd3089e2f606676 (diff) | |
download | open-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.pamphlet | 11 |
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 |