Contents Index Search Previous Next

# J.3 Reduced Accuracy Subtypes

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.

#### Syntax

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.

Contents Index Search Previous Next Legal