Package io.deephaven.util.compare
Class FloatComparisons
java.lang.Object
io.deephaven.util.compare.FloatComparisons
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
compare
(float lhs, float rhs) Compares two floats according to the following rules:QueryConstants.NULL_FLOAT
is less than all otherfloat
values (includingFloat.NEGATIVE_INFINITY
)0.0
and-0.0
are equalFloat.NaN
(and all other floatNaN
representations) is equal toFloat.NaN
and greater than all otherfloat
values (includingFloat.POSITIVE_INFINITY
) Otherwise, normalfloat
comparison logic is usedstatic boolean
eq
(float lhs, float rhs) Compare two floats for equality consistent withcompare(float, float)
; that iscompare(lhs, rhs) == 0 ⇒ eq(lhs, rhs)
andcompare(lhs, rhs) != 0 ⇒ !eq(lhs, rhs)
.static boolean
geq
(float lhs, float rhs) Logically equivalent tocompare(lhs, rhs) >= 0
.static boolean
gt
(float lhs, float rhs) Logically equivalent tocompare(lhs, rhs) > 0
.static int
hashCode
(float x) Returns a hash code for afloat
value consistent witheq(float, float)
; that is,eq(x, y) ⇒ hashCode(x) == hashCode(y)
.static boolean
leq
(float lhs, float rhs) Logically equivalent tocompare(lhs, rhs) <= 0
.static boolean
lt
(float lhs, float rhs) Logically equivalent tocompare(lhs, rhs) < 0
.
-
Constructor Details
-
FloatComparisons
public FloatComparisons()
-
-
Method Details
-
compare
public static int compare(float lhs, float rhs) Compares two floats according to the following rules:QueryConstants.NULL_FLOAT
is less than all otherfloat
values (includingFloat.NEGATIVE_INFINITY
)0.0
and-0.0
are equalFloat.NaN
(and all other floatNaN
representations) is equal toFloat.NaN
and greater than all otherfloat
values (includingFloat.POSITIVE_INFINITY
)- Otherwise, normal
float
comparison logic is used
Note: this differs from the Java language numerical comparison operators
<, <=, ==, >=, >
andFloat.compare(float, float)
.- Parameters:
lhs
- the first valuerhs
- the second value- Returns:
- the value
0
iflhs
is equal torhs
; a value less than0
iflhs
is less thanrhs
; and a value greater than0
iflhs
is greater thanrhs
-
eq
public static boolean eq(float lhs, float rhs) Compare two floats for equality consistent withcompare(float, float)
; that iscompare(lhs, rhs) == 0 ⇒ eq(lhs, rhs)
andcompare(lhs, rhs) != 0 ⇒ !eq(lhs, rhs)
.Logically equivalent to
compare(lhs, rhs) == 0
.- Parameters:
lhs
- the first valuerhs
- the second value- Returns:
true
if the values are equal,false
otherwise
-
hashCode
public static int hashCode(float x) Returns a hash code for afloat
value consistent witheq(float, float)
; that is,eq(x, y) ⇒ hashCode(x) == hashCode(y)
.- Parameters:
x
- the value to hash- Returns:
- a hash code value for a
float
value
-
gt
public static boolean gt(float lhs, float rhs) Logically equivalent tocompare(lhs, rhs) > 0
.- Parameters:
lhs
- the first valuerhs
- the second value- Returns:
true
ifflhs
is greater thanrhs
-
lt
public static boolean lt(float lhs, float rhs) Logically equivalent tocompare(lhs, rhs) < 0
.- Parameters:
lhs
- the first valuerhs
- the second value- Returns:
true
ifflhs
is less thanrhs
-
geq
public static boolean geq(float lhs, float rhs) Logically equivalent tocompare(lhs, rhs) >= 0
.- Parameters:
lhs
- the first valuerhs
- the second value- Returns:
true
ifflhs
is greater than or equal torhs
-
leq
public static boolean leq(float lhs, float rhs) Logically equivalent tocompare(lhs, rhs) <= 0
.- Parameters:
lhs
- the first valuerhs
- the second value- Returns:
true
ifflhs
is less than or equal torhs
-