Class DoubleComparisons

java.lang.Object
io.deephaven.util.compare.DoubleComparisons

public class DoubleComparisons extends Object
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static int
    compare(double lhs, double rhs)
    Compares two doubles according to the following rules: QueryConstants.NULL_DOUBLE is less than all other double values (including Double.NEGATIVE_INFINITY) 0.0 and -0.0 are equal Double.NaN (and all other double NaN representations) is equal to Double.NaN and greater than all other double values (including Double.POSITIVE_INFINITY) Otherwise, normal double comparison logic is used
    static boolean
    eq(double lhs, double rhs)
    Compare two doubles for equality consistent with compare(double, double); that is compare(lhs, rhs) == 0 ⇒ eq(lhs, rhs) and compare(lhs, rhs) != 0 ⇒ !eq(lhs, rhs).
    static boolean
    geq(double lhs, double rhs)
    Logically equivalent to compare(lhs, rhs) >= 0.
    static boolean
    gt(double lhs, double rhs)
    Logically equivalent to compare(lhs, rhs) > 0.
    static int
    hashCode(double x)
    Returns a hash code for a double value consistent with eq(double, double); that is, eq(x, y) ⇒ hashCode(x) == hashCode(y).
    static boolean
    leq(double lhs, double rhs)
    Logically equivalent to compare(lhs, rhs) <= 0.
    static boolean
    lt(double lhs, double rhs)
    Logically equivalent to compare(lhs, rhs) < 0.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • DoubleComparisons

      public DoubleComparisons()
  • Method Details

    • compare

      public static int compare(double lhs, double rhs)
      Compares two doubles according to the following rules:

      Note: this differs from the Java language numerical comparison operators <, <=, ==, >=, > and Double.compare(double, double).

      Parameters:
      lhs - the first value
      rhs - the second value
      Returns:
      the value 0 if lhs is equal to rhs; a value less than 0 if lhs is less than rhs; and a value greater than 0 if lhs is greater than rhs
    • eq

      public static boolean eq(double lhs, double rhs)
      Compare two doubles for equality consistent with compare(double, double); that is compare(lhs, rhs) == 0 ⇒ eq(lhs, rhs) and compare(lhs, rhs) != 0 ⇒ !eq(lhs, rhs).

      Logically equivalent to compare(lhs, rhs) == 0.

      Parameters:
      lhs - the first value
      rhs - the second value
      Returns:
      true if the values are equal, false otherwise
    • hashCode

      public static int hashCode(double x)
      Returns a hash code for a double value consistent with eq(double, double); that is, eq(x, y) ⇒ hashCode(x) == hashCode(y).
      Parameters:
      x - the value to hash
      Returns:
      a hash code value for a double value
    • gt

      public static boolean gt(double lhs, double rhs)
      Logically equivalent to compare(lhs, rhs) > 0.
      Parameters:
      lhs - the first value
      rhs - the second value
      Returns:
      true iff lhs is greater than rhs
    • lt

      public static boolean lt(double lhs, double rhs)
      Logically equivalent to compare(lhs, rhs) < 0.
      Parameters:
      lhs - the first value
      rhs - the second value
      Returns:
      true iff lhs is less than rhs
    • geq

      public static boolean geq(double lhs, double rhs)
      Logically equivalent to compare(lhs, rhs) >= 0.
      Parameters:
      lhs - the first value
      rhs - the second value
      Returns:
      true iff lhs is greater than or equal to rhs
    • leq

      public static boolean leq(double lhs, double rhs)
      Logically equivalent to compare(lhs, rhs) <= 0.
      Parameters:
      lhs - the first value
      rhs - the second value
      Returns:
      true iff lhs is less than or equal to rhs