Spec-Zone.ru › Ada 2005
Справочник Ada 2005

J.3 Подтипы с уменьшенной точностью

Ограничение digits_constraint может использоваться для определения подтипа с плавающей точкой с новым значением требуемой десятичной точности, отражённой атрибутом Digits. Аналогично, ограничение delta_constraint может использоваться для определения обычного подтипа с фиксированной точкой с новым значением для delta, отражённым атрибутом Delta.

Синтаксис

delta_constraint ::= delta static_expression [range_constraint]

Правила разрешения имён

Выражение expression ограничения delta_constraint должно быть любого вещественного типа.

Правила допустимости

Выражение expression ограничения delta_constraint должно быть статическим.
Для subtype_indication с ограничением delta_constraint, метка подтипа subtype_mark должна обозначать обычный подтип с фиксированной точкой.
Для subtype_indication с ограничением digits_constraint, метка подтипа subtype_mark должна обозначать подтип с десятичной фиксированной точкой или подтип с плавающей точкой (несмотря на правило в 3.5.9, которое допускает только подтип с десятичной фиксированной точкой).

Статическая семантика

subtype_indication с меткой подтипа subtype_mark, обозначающей обычный подтип с фиксированной точкой и ограничение delta_constraint, определяет обычный подтип с фиксированной точкой с delta, заданным значением выражения expression ограничения delta_constraint. Если ограничение delta_constraint включает ограничение range_constraint, то обычный подтип с фиксированной точкой ограничен этим range_constraint.
subtype_indication с меткой подтипа subtype_mark, обозначающей подтип с плавающей точкой и ограничение digits_constraint, определяет подтип с плавающей точкой с требуемой десятичной точностью (как отражено атрибутом Digits), заданной значением выражения expression ограничения digits_constraint. Если ограничение digits_constraint включает ограничение range_constraint, то подтип с плавающей точкой ограничен этим range_constraint.

Динамическая семантика

Ограничение delta_constraint совместимо с подтипом с фиксированной точкой, если значение expression не меньше delta подтипа, и ограничение range_constraint, если оно есть, совместимо с подтипом.
Ограничение digits_constraint совместимо с подтипом с плавающей точкой, если значение expression не больше требуемой десятичной точности подтипа, и ограничение range_constraint, если оно есть, совместимо с подтипом.
Выполнение ограничения delta_constraint состоит из выполнения ограничения range_constraint, если оно есть.





Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API