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

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