For definitions of the terms used in the floating-point interfaces, see the ANSI/IEEE Standard 754-1985, IEEE Standard for Binary Floating-Point Arithmetic.
The interfaces Real, LongReal, and Extended define constant attributes of the three built-in floating-point types:
INTERFACE Real; TYPE T = REAL; CONST Base: INTEGER = ...; Precision: INTEGER = ...; MaxFinite: T = ...; MinPos: T = ...; MinPosNormal: T = ...; MaxExpDigits: INTEGER = ...; MaxSignifDigits: INTEGER = ...; END Real. INTERFACE LongReal; TYPE T = LONGREAL; CONST Base: INTEGER = ...; Precision: INTEGER = ...; MaxFinite: T = ...; MinPos: T = ...; MinPosNormal: T = ...; MaxExpDigits: INTEGER = ...; MaxSignifDigits: INTEGER = ...; END LongReal. INTERFACE Extended; TYPE T = EXTENDED; CONST Base: INTEGER = ...; Precision: INTEGER = ...; MaxFinite: T = ...; MinPos: T = ...; MinPosNormal: T = ...; MaxExpDigits: INTEGER = ...; MaxSignifDigits: INTEGER = ...; END Extended.
The specification is the same for all three interfaces:
Base is the base of the floating-point representation for T.
Precision is the number of base-Base digits of precision for T.
MaxFinite is the maximum finite value in T. For non-IEEE implementations, this is the same as LAST(T).
MinPos is the minimum positive value in T.
MinPosNormal is the minimum positive normal value in T; it differs from MinPos only for implementations (like IEEE) with denormalized numbers.
MaxExpDigits is the smallest integer with the property that every finite number of type T can be written in base-10 scientific notation using an exponent with at most MaxExpDigits.
MaxSignifDigits is the smallest integer with the property that for every point x along the number line, the two floating-decimal numbers with MaxSignifDigits closest to x are closer to each other than are the two closest numbers of type T.
Typically,
MaxExpDigits = CEILING(LOG_10(LOG_10(MaxFinite))) MaxSignifDigits = CEILING(LOG_10(Base EXP Precision)) + 1.