diff options
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/aggcat.spad.pamphlet | 32 | ||||
-rw-r--r-- | src/algebra/array2.spad.pamphlet | 4 | ||||
-rw-r--r-- | src/algebra/clip.spad.pamphlet | 2 | ||||
-rw-r--r-- | src/algebra/draw.spad.pamphlet | 6 | ||||
-rw-r--r-- | src/algebra/sturm.spad.pamphlet | 4 | ||||
-rw-r--r-- | src/algebra/tree.spad.pamphlet | 3 | ||||
-rw-r--r-- | src/algebra/triset.spad.pamphlet | 2 | ||||
-rw-r--r-- | src/algebra/vector.spad.pamphlet | 2 |
8 files changed, 15 insertions, 40 deletions
diff --git a/src/algebra/aggcat.spad.pamphlet b/src/algebra/aggcat.spad.pamphlet index e58fac69..3d0e1e14 100644 --- a/src/algebra/aggcat.spad.pamphlet +++ b/src/algebra/aggcat.spad.pamphlet @@ -50,12 +50,6 @@ Aggregate: Category == Type with ++ e.g. \axiom{u: D := empty()}. empty?: % -> Boolean ++ empty?(u) tests if u has 0 elements. - less?: (%,NonNegativeInteger) -> Boolean - ++ less?(u,n) tests if u has less than n elements. - more?: (%,NonNegativeInteger) -> Boolean - ++ more?(u,n) tests if u has greater than n elements. - size?: (%,NonNegativeInteger) -> Boolean - ++ size?(u,n) tests if u has exactly n elements. sample: constant -> % ++ sample yields a value of type % if % has finiteAggregate then #: % -> NonNegativeInteger ++ # u returns the number of items in u. @@ -64,9 +58,6 @@ Aggregate: Category == Type with sample() == empty() if % has finiteAggregate then empty? a == #a = 0 - less?(a,n) == #a < n - more?(a,n) == #a > n - size?(a,n) == #a = n @ @@ -150,7 +141,7 @@ HomogeneousAggregate(S:Type): Category == Aggregate with if S has BasicType then x = y == - size?(x, #y) and (and/[a = b for a in parts x for b in parts y]) + #x = #y and (and/[a = b for a in parts x for b in parts y]) if S has SetCategory then count(s:S, x:%) == count(s = #1, x) @@ -1563,21 +1554,6 @@ UnaryRecursiveAggregate(S:Type): Category == RecursiveAggregate S with empty? x => error "value of empty object" first x - less?(l, n) == - i := n::Integer - while positive? i and not empty? l repeat (l := rest l; i := i - 1) - positive? i - - more?(l, n) == - i := n::Integer - while positive? i and not empty? l repeat (l := rest l; i := i - 1) - zero?(i) and not empty? l - - size?(l, n) == - i := n::Integer - while not empty? l and positive? i repeat (l := rest l; i := i - 1) - empty? l and zero? i - #x == k: NonNegativeInteger := 0 while not empty? x repeat @@ -1729,6 +1705,12 @@ StreamAggregate(S:Type): Category == ++ possiblyInfinite?(s) tests if the stream s could possibly ++ have an infinite number of elements. ++ Note: for many datatypes, \axiom{possiblyInfinite?(s) = not explictlyFinite?(s)}. + less?: (%,NonNegativeInteger) -> Boolean + ++ less?(u,n) tests if u has less than n elements. + more?: (%,NonNegativeInteger) -> Boolean + ++ more?(u,n) tests if u has greater than n elements. + size?: (%,NonNegativeInteger) -> Boolean + ++ size?(u,n) tests if u has exactly n elements. add c2: (%, %) -> S diff --git a/src/algebra/array2.spad.pamphlet b/src/algebra/array2.spad.pamphlet index 0a89e53f..b21179d5 100644 --- a/src/algebra/array2.spad.pamphlet +++ b/src/algebra/array2.spad.pamphlet @@ -134,10 +134,6 @@ TwoDimensionalArrayCategory(R,Row,Col): Category == Definition where not f(qelt(m,i,j)) => return false true - size?(m,n) == nrows(m) * ncols(m) = n - less?(m,n) == nrows(m) * ncols(m) < n - more?(m,n) == nrows(m) * ncols(m) > n - --% Size inquiries # m == nrows(m) * ncols(m) diff --git a/src/algebra/clip.spad.pamphlet b/src/algebra/clip.spad.pamphlet index 5adde3dc..30ee0ff3 100644 --- a/src/algebra/clip.spad.pamphlet +++ b/src/algebra/clip.spad.pamphlet @@ -212,7 +212,7 @@ TwoDimensionalPlotClipping(): Exports == Implementation where xVals := xRange plot empty?(pointLists := listBranches plot) => [nil(),xVals,segment(0,0)] - more?(pointLists := listBranches plot,1) => + #(pointLists := listBranches plot) > 1 => error "clipDraw: plot has more than one branch" empty?(pointList := first pointLists) => [nil(),xVals,segment(0,0)] diff --git a/src/algebra/draw.spad.pamphlet b/src/algebra/draw.spad.pamphlet index ca2c76a7..fe9ddefe 100644 --- a/src/algebra/draw.spad.pamphlet +++ b/src/algebra/draw.spad.pamphlet @@ -273,7 +273,7 @@ TopLevelDrawFunctionsForCompiledFunctions(): segList := retract(cl :: Any)$ANY1(L SEG) empty? segList => error "draw: you may specify at least 1 segment for 2D clipping" - more?(segList,2) => + #segList > 2 => error "draw: you may specify at most 2 segments for 2D clipping" xLo : SF := 0; xHi : SF := 0; yLo : SF := 0; yHi : SF := 0 if empty? rest segList then @@ -1039,14 +1039,14 @@ TopLevelDrawFunctionsForAlgebraicCurves(R,Ex): Exports == Implementation where yRangeFloat : SEG F := segment(0,0) -- dummy value if not ratRange case "failed" then ranges := retract(ratRange :: Any)$ANY1(L SEG RN) - not size?(ranges,2) => error "draw: you must specify two ranges" + #ranges ~= 2 => error "draw: you must specify two ranges" xRange := first ranges; yRange := second ranges xRangeFloat := map(convert(#1)@Float,xRange)@(SEG F) yRangeFloat := map(convert(#1)@Float,yRange)@(SEG F) floatRanges := [xRangeFloat,yRangeFloat] else floatRanges := retract(floatRange :: Any)$ANY1(L SEG F) - not size?(floatRanges,2) => + #floatRanges ~= 2 => error "draw: you must specify two ranges" xRangeFloat := first floatRanges yRangeFloat := second floatRanges diff --git a/src/algebra/sturm.spad.pamphlet b/src/algebra/sturm.spad.pamphlet index 30c438a1..b005b535 100644 --- a/src/algebra/sturm.spad.pamphlet +++ b/src/algebra/sturm.spad.pamphlet @@ -257,7 +257,7 @@ SturmHabichtPackage(R,x): T == C where -- elements in an ordered integral domain variation(Lsig:L R):INT == - size?(Lsig,1) => 0 + #Lsig = 1 => 0 elt1:R:=first Lsig elt2:R:=Lsig.2 sig1:R:=(sign(elt1*elt2))::R @@ -270,7 +270,7 @@ SturmHabichtPackage(R,x): T == C where -- elements in an ordered integral domain permanence(Lsig:L R):INT == - size?(Lsig,1) => 0 + #Lsig = 1 => 0 elt1:R:=first Lsig elt2:R:=Lsig.2 sig1:R:=(sign(elt1*elt2))::R diff --git a/src/algebra/tree.spad.pamphlet b/src/algebra/tree.spad.pamphlet index 9dbae5b9..be99d1f7 100644 --- a/src/algebra/tree.spad.pamphlet +++ b/src/algebra/tree.spad.pamphlet @@ -120,14 +120,11 @@ Tree(S: SetCategory): T==C where t case empty => empty() leaf? t => [value t] "append"/[leaves c for c in children t] - less? (t, n) == # t < n - more?(t, n) == # t > n nodes t == ---buggy t case empty => empty() nl := [nodes c for c in children t] nl = empty() => [t] cons(t,"append"/nl) - size? (t, n) == # t = n any?(fn, t) == ---bug fixed t case empty => false fn value t or "or"/[any?(fn, c) for c in children t] diff --git a/src/algebra/triset.spad.pamphlet b/src/algebra/triset.spad.pamphlet index 562994e3..2ddac8a7 100644 --- a/src/algebra/triset.spad.pamphlet +++ b/src/algebra/triset.spad.pamphlet @@ -1345,7 +1345,7 @@ PolynomialSetUtilitiesPackage (R,E,V,P) : Exports == Implementation where lp := removeSquaresIfCan lp lp := removeDuplicates [unitCanonical(p) for p in lp] empty? lp => lp - size?(lp,1$N)$(List P) => lp + #lp = 1$N => lp lp := sort(infRittWu?,lp) p : P := first lp lp := rest lp diff --git a/src/algebra/vector.spad.pamphlet b/src/algebra/vector.spad.pamphlet index a708524a..110758da 100644 --- a/src/algebra/vector.spad.pamphlet +++ b/src/algebra/vector.spad.pamphlet @@ -330,7 +330,7 @@ DirectProduct(dim:NonNegativeInteger, R:Type): parts x == VEC2LIST(x)$Lisp directProduct z == - size?(z, dim) => per copy z + #z = dim => per copy z error "Not of the correct length" |