ГОСТ Р HCO/HL7 27951— 2016
IVL<‘T> interval
: open TT close;
BL open
: ”["
BL close
I "l"
; " I й
» "[«
1VL<T> width
; open T.ditfType close
IVL*T> center_width
: T width
1VL<TS> comparator
:T
Iт
t 3.low.equal(32);
3.high.equal(§4};
S.lowClosed.equal($1};
3.highClosed.equal(35); 1;
t 3.equal(true); I
{
3.equal(false);
1
;
1 3.equal(true!; }
\
3.equal(lalse); i;
) 3.width.equal($2>;
S.lowClosed.equal(31);
$.highCiosed.equal(3J>; i;
1 3.center.equal(31);
3.width.equal(32.width};
S.lowClosed.equal(32.lowClosed);
3.highClosea.equal(32.highClosed); I;
JVL<T> dash : TT;( 3.low.equal(32);
3.high.equal(S’l);
S.lowClosed.equal(true);
3.highClosed.equal(true); 1;
t 3.high.equal(T);
S.high.t.-losea(ralse);
3.low.negativelyiniinite; I
j 3.low.equal(T);
S.low.closed(ralse);
3.high.positivelyiniinite; l
IT
\
3.high.equal(T);
S.high.closed(true);
5.low.negativelylnlmite; i
lT( 3.low.equal(T);
3.low.closed(true);
3.high.positivelyiniinite; I;
B.3.6.8 Преобразование значений элементов в интервалы: IVL<T>
Величина типа Т может быть преобразована в тривиальный интервал типа IVL. у которого свойства low и high
равны и границы закрыты.
invariant(Т х) {
((IVL<T>>x).low.equal(х);
((IVL<T>)x).high.equal(x);
((IVL<T>)x).highClosed;
((IVL<T>)x).lowClosed;
i ;
B.3.6.9 Приведение интервала к представительному значению элемента типа Т
Значение типа IVL может быть приведено к одной величине типа Т, представляющей весь интервал. Если
обе границы финитны, этой величиной является значение свойства center. Если одна из границ бесконечна,
этой величиной является другая граница. Если обе границы бесконечны, приведение к одной точке не при
менимо.
invariant(IVL<T> х)
where x.nonNull
\
x.low.nonNull.and(x.high.nonNu11).Implies(((T)x).equal(x.center));
x.high.nonNull.and(x.low.isNull).implies(((T)x).equal(x.high)>;
x.lew.nonNull
.and
(x.high.isNull).implies(((T)x).equal(x.low));
x.low.isNull.and(x.high.isNull).implies(((T)x).notApplicable);
);
395