]>
The Segment domain provides a generalized interval type.
Segments are created using the .. construct by indicating the (included) end points.
The first end point is called the loloSegment and the second is called hihiSegment.
These names are used even though the end points might belong to an unordered set.
In addition to the end points, each segment has an integer ``increment.'' An increment can be specified using the ``by'' construct.
This part can be obtained using the incrincrSegment function.
Unless otherwise specified, the increment is 1.
A single value can be converted to a segment with equal end points. This happens if segments and single values are mixed in a list.
If the underlying type is an ordered ring, it is possible to perform additional operations. The expandexpandSegment operation creates a list of points in a segment.
If k > 0, then expand(l..h by k) creates the list [l, l+k, ..., lN] where lN <= h < lN+k. If k < 0, then lN >= h > lN+k.
It is also possible to expand a list of segments. This is equivalent to appending lists obtained by expanding each segment individually.
For more information on related topics, see SegmentBindingXmpPage and UniversalSegmentXmpPage .