UniversalSegment SΒΆ

seg.spad line 287

This domain provides segments which may be half open. That is, ranges of the form a.. or a..b.

+: (%, S) -> % if S has AbelianSemiGroup
from SegmentCategory S
+: (S, %) -> % if S has AbelianSemiGroup
from SegmentCategory S
-: (%, S) -> % if S has AbelianGroup
from SegmentCategory S
=: (%, %) -> Boolean if S has SetCategory
from BasicType
~=: (%, %) -> Boolean if S has SetCategory
from BasicType
BY: (%, Integer) -> %
from SegmentCategory S
coerce: % -> OutputForm if S has SetCategory
from CoercibleTo OutputForm
coerce: Segment S -> %
coerce(x) allows Segment values to be used as %.
convert: % -> InputForm if S has ConvertibleTo InputForm
from ConvertibleTo InputForm
convert: S -> %
from SegmentCategory S
expand: % -> Stream S if S has OrderedRing
from SegmentExpansionCategory(S, Stream S)
expand: List % -> Stream S if S has OrderedRing
from SegmentExpansionCategory(S, Stream S)
hash: % -> SingleInteger if S has SetCategory
from SetCategory
hasHi: % -> Boolean
hasHi(s) tests whether the segment s has an upper bound.
hashUpdate!: (HashState, %) -> HashState if S has SetCategory
from SetCategory
high: % -> S
from SegmentCategory S
incr: % -> Integer
from SegmentCategory S
latex: % -> String if S has SetCategory
from SetCategory
low: % -> S
from SegmentCategory S
map: (S -> S, %) -> Stream S if S has OrderedRing
from SegmentExpansionCategory(S, Stream S)
reverse: % -> % if S has OrderedRing
from SegmentCategory S
SEGMENT: (S, S) -> %
from SegmentCategory S
segment: (S, S) -> %
from SegmentCategory S
SEGMENT: S -> %
l.. produces a half open segment, that is, one with no upper bound.
segment: S -> %
segment(l) is an alternate way to construct the segment l...

BasicType if S has SetCategory

CoercibleTo OutputForm if S has SetCategory

ConvertibleTo InputForm if S has ConvertibleTo InputForm

SegmentCategory S

SegmentExpansionCategory(S, Stream S) if S has OrderedRing

SetCategory if S has SetCategory