Статус документа
Статус документа

ГОСТ Р ИСО/МЭК 8825-3-2016 Информационная технология (ИТ). Правила кодирования АСН.1. Часть 3. Спецификация нотации контроля кодирования (ECN)

     21.11 Тип RangeCondition

21.11.1 Продукцией типа "RangeCondition" является:


RangeCondition ::= ENUMERATED

{ unbounded-or-no-lower-bound,

semi-bounded-with-negatives,

bounded-with-negatives,

semi-bounded-without-negatives,

bounded-without-negatives

test-lower-bound,

test-upper-bound,

test-range}

21.11.2 Безусловным значением (по умолчанию) для признака кодирования этого типа всегда является "unboundedor-no-lower-bound".

21.11.3 Признак кодирования типа "RangeCondition" используется в спецификации предиката (логического условия), который проверяет наличие и природу границ целочисленных значений, связанных с классом кодирования в "целочисленной" категории.

21.11.4 Предикат удовлетворяет каждому из первых пяти перечисленных значений из 21.11.1, если, и только если, следующие условия удовлетворяются границами класса кодирования в "целочисленной" категории:

a) unbounded-or-no-lower-bound: либо нет границ, либо имеется только верхняя граница, но нет нижней границы;

b) semi-bounded-with-negatives: имеется нижняя граница, которая меньше нуля, но нет верхней границы;

c) bounded-with-negatives: имеется нижняя граница, которая меньше нуля, и имеется верхняя граница;

d) semi-bounded-without-negatives: имеется нижняя граница, которая больше нуля или равна нулю, но нет верхней границы;

e) bounded-without-negatives: имеется нижняя граница, которая больше нуля или равна нулю, и имеется верхняя граница.


Примечание - Для любого заданного набора границ будет удовлетворяться только один предикат.

21.11.5 Если используются последние три enumeration значения из 21.11.1, значение "Comparison" типа (см. 21.12) должно быть предоставлено вместе с целочисленным значением comparator. Если используются остальные значения, данные не должны предоставляться.