Spec-Zone.ru › Ada 2022
Руководство по Ada (Ada 2022)

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

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

Синтаксис

delta_constraint ::= delta static_simple_expression [range_constraint]

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

Ожидается, что simple_expression ограничения delta_constraint будет любого вещественного типа.

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

Выражение simple_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, заданным значением simple_expression ограничения delta_constraint. Если ограничение delta_constraint включает ограничение диапазона range_constraint, то обычный подтип с фиксированной точкой ограничен ограничением диапазона.
subtype_indication с меткой подтипа subtype_mark, обозначающей подтип с плавающей точкой и ограничением digits_constraint, определяет подтип с плавающей точкой с требуемой десятичной точностью (как отражено в атрибуте Digits), заданной значением simple_expression ограничения digits_constraint. Если ограничение digits_constraint включает ограничение диапазона range_constraint, то подтип с плавающей точкой ограничен ограничением диапазона.

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

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


Spec-Zone.ru

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