|
|
(Epsilon1, Epsilon2 : REAL) : LOGICAL ;
LOCAL
ValidEps1, ValidEps2 : REAL;
DefaultEps : REAL := 0.00000001;
DerivationOfEps : REAL := 1.001;
UpperEps : REAL := 1.0;
END_LOCAL;
-- In the above function the following three questionable ad-hoc values are used:
-- 0.00000001 for the default precision (1E-8)
-- 1.001 for the allowable deviation of the precision values and
-- 1.0 for setting the upper limit of the accepted precision values to about 100.
ValidEps1 := NVL(Epsilon1, DefaultEps);
ValidEps2 := NVL(Epsilon2, DefaultEps);
RETURN ((0.0 < ValidEps1) AND (ValidEps1 <= DerivationOfEps * ValidEps2) AND (ValidEps2 <= DerivationOfEps * ValidEps1) AND (ValidEps2 < UpperEps));
|
|