Simple Types Simple types - which include ordinal types and real types - define ordered sets of values.
The ordinal types covered in this topic are:
Integer types
Character types
Boolean types
Enumerated types
Real (floating point) types
Ordinal Types Ordinal types include integer, character, Boolean, enumerated, and subrange types. An ordinal type defines an
ordered set of values in which each value except the first has a unique predecessor and each value except the last
has a unique successor. Further, each value has an ordinality which determines the ordering of the type. In most
cases, if a value has ordinality n, its predecessor has ordinality n-1 and its successor has ordinality n+1.
For integer types, the ordinality of a value is the value itself.
Subrange types maintain the ordinalities of their base types.
For other ordinal types, by default the first value has ordinality 0, the next value has ordinality 1, and so forth.
The declaration of an enumerated type can explicitly override this default.
Several predefined functions operate on ordinal values and type identifiers. The most important of them are
summarized below.