- java.lang.Object
-
- com.pervasive.datarush.operators.assertion.AbsoluteErrorBound
-
- All Implemented Interfaces:
FloatingPointTolerance
public class AbsoluteErrorBound extends Object implements FloatingPointTolerance
Checks equivalence based on the absolute error between two floating point numbers. Two values are considered equal if this error is less than a fixed bound.Specifically, for two values
v1
andv2
and a non-negative bounde
, it is checked whetherMath.abs(v1 - v2) <= e
- See Also:
RelativeErrorBound
,UlpDistanceBound
-
-
Field Summary
-
Fields inherited from interface com.pervasive.datarush.operators.assertion.FloatingPointTolerance
EXACT
-
-
Constructor Summary
Constructors Constructor Description AbsoluteErrorBound(double epsilon)
Define a fixed bound on the absolute error of two floating point numbers.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getEpsilon()
Gets the maximum absolute difference allowed between values.boolean
isWithinTolerance(double value1, double value2)
Indicates whether the specified values are equal under the tolerance.boolean
isWithinTolerance(float value1, float value2)
Indicates whether the specified values are equal under the tolerance.boolean
isWithinTolerance(BigDecimal value1, BigDecimal value2)
Indicates whether the specified values are equal under the tolerance.
-
-
-
Constructor Detail
-
AbsoluteErrorBound
public AbsoluteErrorBound(double epsilon)
Define a fixed bound on the absolute error of two floating point numbers.- Parameters:
epsilon
- the fixed bound on the error- Throws:
com.pervasive.datarush.graphs.physical.InvalidPropertyValueException
- ifepsilon
is negative.
-
-
Method Detail
-
isWithinTolerance
public boolean isWithinTolerance(float value1, float value2)
Description copied from interface:FloatingPointTolerance
Indicates whether the specified values are equal under the tolerance.- Specified by:
isWithinTolerance
in interfaceFloatingPointTolerance
- Parameters:
value1
- the first value to comparevalue2
- the second value to compare- Returns:
true
if the two values lie with the error bounds, otherwisefalse
-
isWithinTolerance
public boolean isWithinTolerance(double value1, double value2)
Description copied from interface:FloatingPointTolerance
Indicates whether the specified values are equal under the tolerance.- Specified by:
isWithinTolerance
in interfaceFloatingPointTolerance
- Parameters:
value1
- the first value to comparevalue2
- the second value to compare- Returns:
true
if the two values lie with the error bounds, otherwisefalse
-
isWithinTolerance
public boolean isWithinTolerance(BigDecimal value1, BigDecimal value2)
Description copied from interface:FloatingPointTolerance
Indicates whether the specified values are equal under the tolerance.- Specified by:
isWithinTolerance
in interfaceFloatingPointTolerance
- Parameters:
value1
- the first value to comparevalue2
- the second value to compare- Returns:
true
if the two values lie with the error bounds, otherwisefalse
-
getEpsilon
public double getEpsilon()
Gets the maximum absolute difference allowed between values.- Returns:
- the absolute error bound
-
-