ГОСТ РИСО 21090—2016
Примечание — Обычно эта операция возвращает значение true, если другое значение (other) того же
типа, за исключением типа данных TS. для которого разность имеет тип данных PQ с единицами, являющимися
разновидностями единиц времени, и типаданных PQ. для которого единицы измерения должны быть
совместимы.
7.8.3 Тип данных INT (целочисленный)
7.8.3.1 Описание
Специализация типа данных QTY
Целые числа (-1.0.1.2.100.3398129. etc.) являются точными величинами, являющимися результа
тами подсчетов и нумерации. Целые числа дискретны, множество целых чисел бесконечно, но счетно.
На диапазон целых чисел никакие произвольные ограничения не накладываются.
7.8.3.2 Синтаксис ИСО/МЭК 11404
type 1ST - class (
validTimeLow : characterstring,
validTimeHigh :characterstring,
controlInformationRoot : characterstring,
controlInformationKxtension : characterstring,
r.ullb’lavor :NullFlavor,
updateMode : L’pdateWode,
flavorld :Set (characterstrir.g),
expression : ED,
origmallext : ED.TEXT,
uncertainty : QTY,
uncertamtyType : UncertamtyType,
uncertamRange : IVL(QTY)
value : integer
)
7.8.3.3 Атрибуты
value : Integer: значение экземпляра типа INT. Настоящий стандарт не накладывает никаких огра
ничений на размер целого числа, но большинство реализаций ограничиваются 32-битовыми или 64-би
товыми целыми числами.
Это пример шаблона обертки примитивного типа данных. Дополнительные сведения приведены
в 6.3.
7.8.3.4 Равенство
Два непустых экземпляра типа INT равны, если они не имеют причин пустоты и имеют одно и то
же значение либо их интервалы неопределенности uncertainRange не пусты, не имеют причины пусто
ты nullFlavor и равны.
7.8.3.5 Инварианты:
- если атрибуты value или uncertainRange не имеют причины пустоты nullFlavor. то они должны
иметь значение;
- атрибуты value и uncertainRange не могут одновременно иметь значение;
- атрибут uncertainRange должен иметь тип IVL(INT);
- атрибут uncertainty не должен иметь значение.
Определение инвариантов на языке OCL:
inv "нет неопределенности": uncertainty.isNull
inv "типы неопределенности": uncertainRange.low.ос11sD-efined
implies uncertainRange.low.oclIsKindOf(INT) and
uncertainRange.high.ocllsDef:ned implies
uncertainRange.high.ocllsKir.dQf(INT)
inv ".пиоо value, лиОо uncertainRange”: not (value.oclIsDehned and
uncertamRange.isNotNull)
inv "null лиСо value": isNull xor (value.oclIsDef:ned or
uncertainRange.isNotNull}
inv "null лиОо value": isNull xor value.oclIsDefined
98