ГОСТ Р HCO/HL7 27951— 2016
template<QTY Т>
type Interval<T> alias IVL<T> specializes SET<T> (
low;
lowClosea;
high;
highClosed;
width;
center;
hull;
hull(IVL<T> x>;
(T x);
T
BL
т
BL
QTY
T
IVL<T>
1VL<-T>
3T;
1VL<T>
T;
literal
promotion
demotion
1;
B.3.6.1 Свойство low. T
Определение: нижняя граница интервала.
invariant(IVL<T> x; т е)
where х.nonNull.ana(х.centams(е); (
x.low.lessOrEqual(e);
) ;
B.3.6.2 Свойство h»gh: T
Определение: верхняя граница интервала.
invariant(IVL^T* x; T e>
where x.nonNull.ana(x,contains(e>t {
e.lessOrEqual(x.high);
l ;
B.3.6.3 Свойство width: QTY
Определение: ширина интервала, то есть разность граничных знамений high и low. Свойство width выделя
ется в целях симметричной обработки всех случаев, когда интервал задан не полностью. В любом представлении
значения типа IVL достаточно указать только два из трех свойств high, tow и width, а третье из них выводится.
Если известны две границы интервала, то ширина интервала width может быть вычислена как разность меж
ду значениями свойств high и low. Если известна одна граница и ширина width, то известна и другая граница. Если
ни одна граница не известна, то значение свойства width тем не менее может быть известно. Например, известно,
что некоторая деятельность занимает около 30 минут, но не известно, когда она начинается.
Следует учесть, что тип данных свойства width не всегда совладает с типом данных границ интервала. Для
величин, измеряемых по относительной шкале (типы данных REAL. PQ, МО), он совладает. Для величин, измеря
емых по разностной шкале (например, тип данных TS). свойство width имеет тип данных разности (например, тип
данных PQ с размерностью времени в случав интервала с границами типа TS). Для дискретных элементов (тип
данных INT) ширина width определяется как число элементов в интервале, деленное на 2. Поэтому она гложет
иметь тип данных REAL.
invariant(IVL<T> х> (
х.low.lessOrEqual(x.high);
x.width.equal(x.high.minus(x.low));
);
invariant (IVL<T> x) (
x.width.rtataType.implies(T.di£fType);
I ;
В.3.6.4 Свойство center: T
Определение: это свойство задает центр интервала, то есть арифметическое среднее его границ (сумма
значений свойств tow и high, деленная на 2). Свойство center выделяется как семантическое для преобразования
интервалов в значения точек и обратно.
Следует учесть, что свойство center существует не у каждого интервала. Например, интервалы, не ограни
ченные с одной стороны, не имеют центра. То же относится и к интервалам дискретных значений, содержащим
393