ГОСТ Р ИСО/МЭК 8825-3—2016
должны следовать всем тем. что требуют сравнения, и не должны иметь соответствующей записи во
втором и третьем списках. При использовании «IF-ALL» с тремя списками списки должны быть ин
терпретированы как списки предикатов, использующие значения в соответствующих позициях в трех
списках.
П р и м е ч а н и е — Рекомендуется, чтобы три списка были отформатированы для предоставления условия
в каждом столбце.
П р и м е р
IF-ALL {test-lower-bound, test-range , bounded-with-negatives }
{greater-than, less-than-or-equal-to }
{-10,20
}
23.7.2.3 Используя этот синтаксис, спецификатор ECN может определять начало пространства ко
дирования для кодирования класса в категории «целочисленная», кодирование абстрактных значений,
связанных с этим классом, их размещение внутри пространства кодирования и возможную реверсию
битов в пространстве кодирования.
23.7.2.4 Должен присутствовать один самый больший из «IF». «IF-ALL» и «ELSE».
23.7.2.5 Если «REPLACE» установлен, то никакие другие группы признаков кодирования не уста
навливаются.
23.72.6 Спецификация ECN или применение будут ошибочными, когда какой-либо преобразователь
в «TRANSFORMS» не является обратимым для абстрактного значения, к которому он применен. Первый
преобразователь из «TRANSFORMS», если присутствует, должен иметь источник, который является це
лым числом, а последний преобразователь должен иметь результат, который является целым числом.
П ри м е ча н и е — Тест на условие «IF» или «IF-ALL» производится на границах исходного значения и не
зависит от этих преобразователей.
23.7.2.7 Преобразователь «INT-TO-INT» со значением «subtract:lower-bound» вводится только
в случаях, когда условие «IF» или «IF-ALL» ограничивает применение этого кодирования до класса в
категории «целочисленная» с нижней границей, и должен быть (если имеется) первым преобразовате
лем в списке.
23.7.2.8 «ENCODING-SPACE SIZE» не должен равняться «fixed-to-max», если условие «IF» или
«IF-ALL» не ограничивает кодирования до класса с верхней и нижней границами.
23.7.2.9 «ENCODING-SPACE SIZE» не должен устанавливаться в «self-dollmiting-values».
П ри м е ча н и е — Это означает, что значение по умолчанию (устанавливается для обеспечения совмести
мости с другими использованиями этого типа) всегда должно быть переопределено.
23.7.2.10 Если «EXHIBITS HANDLE» установлен, то спецификатор считает, что кодирование лю
бого значения показывает идентификационный описатель.
П р и м е ч а н и е — При этом, как правило, потребуется использование «VALUE-PADDING» с выравнивани
ем слева, чтобы разрешать заполнению показывать идентификационный описатель.
23.7.3 Действия кодора
23.7.3.1 Кодер обнаруживает ошибку спецификации ECN или применения, когда какое-либо огра
ничение из 23.7.2 нарушается.
23.7.3.2 Для любой установленной группы признаков кодирования кодер выполняет кодирующие
действия, указанные в разделе 22. в следующей последовательности и согласно определению объекта
кодирования:
a) замена:
b
) предварительное выравнивание и заполнение;
c) начальный указатель:
d) пространство кодирования;
e) кодирование значения (см. ниже);
f) заполнение и выравнивание значения;
д) идентификационный описатель:
h) реверсия битов.
23.7.3.3 Кодер применяет «TRANSFORMS», если он ость, к значению, подлежащему кодирова
нию.
119