@EqualityReference public final class AlmostEqualFloat extends Object
Better floating point comparisons.
Modifier and Type | Class and Description |
---|---|
static class |
AlmostEqualFloat.ContextRelative
The necessary context for floating point comparisons.
|
Modifier and Type | Method and Description |
---|---|
static boolean |
almostEqual(AlmostEqualFloat.ContextRelative context,
float x,
float y)
Compare the floating point numbers
x and y
using the context context . |
public static boolean almostEqual(AlmostEqualFloat.ContextRelative context, float x, float y)
Compare the floating point numbers x
and y
using the context context
.
Essentially, given diff = abs(x - y)
, if
diff <= context.getMaxRelativeDifference() * max(abs(x), abs(y))
, then x
and y
can be considered to be close
together.
See the article mentioned at the top of this article for suggested absolute and relative epsilon values: There are no values that work well for all possible inputs.
context
- The equality contextx
- The left parametery
- The right parametertrue
if x
and y
are almost
equalCopyright © 2016 <[email protected]> http://io7m.com