- (1)
- A digits_constraint may be used to define a floating point subtype with a
new value for its requested decimal precision, as reflected by its Digits
attribute. Similarly, a delta_constraint may be used to define an ordinary
fixed point subtype with a new value for its delta, as reflected by its Delta
attribute.
(2)
delta_constraint ::= delta static_expression [range_constraint]
Name Resolution Rules
- (3)
- The expression of a delta_constraint is expected to be of any real type.
Legality Rules
- (4)
- The expression of a delta_constraint shall be static.
- (5)
- For a subtype_indication with a delta_constraint, the subtype_mark shall
denote an ordinary fixed point subtype.
- (6)
- For a subtype_indication with a digits_constraint, the subtype_mark shall
denote either a decimal fixed point subtype or a floating point subtype (notwithstanding
the rule given in 3.5.9 that only allows a decimal
fixed point subtype).
Static Semantics
- (7)
- A subtype_indication with a subtype_mark that denotes an ordinary fixed
point subtype and a delta_constraint defines an ordinary fixed point subtype
with a delta given by the value of the expression of the delta_constraint.
If the delta_constraint includes a range_constraint, then the ordinary fixed
point subtype is constrained by the range_constraint.
- (8)
- A subtype_indication with a subtype_mark that denotes a floating point
subtype and a digits_constraint defines a floating point subtype with a
requested decimal precision (as reflected by its Digits attribute) given by
the value of the expression of the digits_constraint. If the digits_constraint includes a range_constraint, then the floating point subtype is
constrained by the range_constraint.
Dynamic Semantics
- (9)
- A delta_constraint is compatible with an ordinary fixed point subtype if
the value of the expression is no less than the delta of the subtype, and the
range_constraint, if any, is compatible with the subtype.
- (10)
- A digits_constraint is compatible with a floating point subtype if the
value of the expression is no greater than the requested decimal precision of
the subtype, and the range_constraint, if any, is compatible with the
subtype.
- (11)
- The elaboration of a delta_constraint consists of the elaboration of the
range_constraint, if any.
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12