aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/aggcat.spad.pamphlet32
-rw-r--r--src/algebra/array2.spad.pamphlet4
-rw-r--r--src/algebra/clip.spad.pamphlet2
-rw-r--r--src/algebra/draw.spad.pamphlet6
-rw-r--r--src/algebra/sturm.spad.pamphlet4
-rw-r--r--src/algebra/tree.spad.pamphlet3
-rw-r--r--src/algebra/triset.spad.pamphlet2
-rw-r--r--src/algebra/vector.spad.pamphlet2
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"