Section9.84

]>
Book Contents Previous Section 9.83 UnivariatePolynomial Next Section 9.85 Vector Book Index

## 9.84 UniversalSegment

The UniversalSegment domain generalizes Segment by allowing segments without a ``hi'' end point.

pints := 1..

1..

Type: UniversalSegment PositiveInteger
nevens := (0..) by -2

0..by -2

Type: UniversalSegment NonNegativeInteger

Values of type Segment are automatically converted to type UniversalSegment when appropriate.

useg: UniversalSegment(Integer) := 3..10

3..10

Type: UniversalSegment Integer

The operation hasHihasHiUniversalSegment is used to test whether a segment has a hi end point.

hasHi pints

false

Type: Boolean
hasHi nevens

false

Type: Boolean
hasHi useg

true

Type: Boolean

All operations available on type Segment apply to UniversalSegment, with the proviso that expansions produce streams rather than lists. This is to accommodate infinite expansions.

expand pints

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10,…]

Type: Stream Integer
expand nevens

[0,-2,-4,-6,-8,-10,-12,-14,-16,-18,…]

Type: Stream Integer
expand [1, 3, 10..15, 100..]

[1, 3, 10, 11, 12, 13, 14, 15, 100, 101,…]

Type: Stream Integer

For more information on related topics, see SegmentXmpPage , SegmentBindingXmpPage , ListXmpPage , and StreamXmpPage .

Book Contents Previous Section 9.83 UnivariatePolynomial Next Section 9.85 Vector Book Index