PROCEDURE BioInvariantChainFromLR3Chain( READONLY p: PZLR3Chain.T; epsilon, delta: LONGREAL; ): REF ARRAY OF INTEGER = (* Given n equally spaced points along a points sequence computes the corresponding invariant chain. *) VAR cmax : LONGREAL; BEGIN WITH n = NUMBER(p), k = NEW(REF ARRAY OF INTEGER, n) DO cmax := 0.0d0; FOR i:= 0 TO n-1 DO WITH x = p[i,0], y = p[i,1], hX = MAX(-3.0d0, Squeeze(x, epsilon, delta)), hY = MAX(-3.0d0, Squeeze(y, epsilon, delta)), X = ROUND(MIN(+3.0d0, hX)), Y = ROUND(MIN(+3.0d0, hY)) DO k[i] := 7 * X + Y; END; END; RETURN k END END BioInvariantChainFromLR3Chain;