SegmentCategory S¶

This category provides operations on ranges, or segments as they are called.

+: (%, S) -> % if S has AbelianSemiGroup

(l..h)+i returns segment l+i .. h+i.

+: (S, %) -> % if S has AbelianSemiGroup

i+(l..h) returns segment i+l .. i+h.

-: (%, S) -> % if S has AbelianGroup

(l..h)-i returns segment l-i .. h-i.

=: (%, %) -> Boolean if S has SetCategory

from BasicType

~=: (%, %) -> Boolean if S has SetCategory

from BasicType

BY: (%, Integer) -> %

s by n creates a new segment in which only every n-th element is used.

coerce: % -> OutputForm if S has SetCategory
convert: % -> InputForm if S has ConvertibleTo InputForm
convert: S -> %

convert(i) creates the segment i..i.

hash: % -> SingleInteger if S has SetCategory

from SetCategory

hashUpdate!: (HashState, %) -> HashState if S has SetCategory

from SetCategory

high: % -> S

high(s) returns the second endpoint of s. Note: high(l..h) = h.

incr: % -> Integer

incr(s) returns n, where s is a segment in which every n-th element is used. Note: incr(l..h by n) = n.

latex: % -> String if S has SetCategory

from SetCategory

low: % -> S

low(s) returns the first endpoint of s. Note: low(l..h) = l.

reverse: % -> % if S has OrderedRing

reverse(s) returns segment s in reverse order.

segment: (S, S) -> %

segment(i, j) is an alternate way to create the segment i..j.

SEGMENT: (S, S) -> %

l..h creates a segment with l and h as the endpoints.

BasicType if S has SetCategory

CoercibleTo OutputForm if S has SetCategory

SetCategory if S has SetCategory