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

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

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

Синтаксис

delta_constraint ::= delta static_выражение [range_constraint]

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

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

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

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

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

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

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

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


Spec-Zone.ru

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