Class BinaryRelations

    • Field Detail

      • DEFAULT_COMPARISON_EPSILON

        public static final double DEFAULT_COMPARISON_EPSILON
        Default epsilon for comparison
        See Also:
        Constant Field Values
    • Constructor Detail

      • BinaryRelations

        public BinaryRelations()
    • Method Detail

      • setExactComparison

        public static void setExactComparison()
        Sets comparison mode to EXACT.
      • setEpsilonComparison

        public static void setEpsilonComparison()
        Sets comparison mode to EPSILON.
      • setEpsilon

        public static void setEpsilon​(double epsilon)
        Sets epsilon value.
        Parameters:
        epsilon - Epsilon value (grater than 0).
        See Also:
        setEpsilonComparison()
      • getEpsilon

        public static double getEpsilon()
        Returns current epsilon value.
        Returns:
        Returns current epsilon value.
        See Also:
        setEpsilonComparison()
      • checkIfEpsilonMode

        public static boolean checkIfEpsilonMode()
        Checks if epsilon comparison mode is active;
        Returns:
        True if epsilon mode is active, otherwise returns false.
        See Also:
        setEpsilonComparison(), setExactComparison()
      • checkIfExactMode

        public static boolean checkIfExactMode()
        Checks if exact comparison mode is active;
        Returns:
        True if exact mode is active, otherwise returns false.
        See Also:
        setEpsilonComparison(), setExactComparison()
      • eq

        public static double eq​(double a,
                                double b)
        Equality relation.
        Parameters:
        a - the a number (a = b)
        b - the b number (a = b)
        Returns:
        if a = Double.NaN or b = Double.NaN return Double.NaN, else if a = b return 1, otherwise return 0.
      • isEqualOrAlmost

        public static boolean isEqualOrAlmost​(double a,
                                              double b)
        Test for equality or almost equality.
        Parameters:
        a - First number
        b - Second number
        Returns:
        Returns true if both number are equal or are almost equal.
        See Also:
        DEFAULT_COMPARISON_EPSILON
      • neq

        public static double neq​(double a,
                                 double b)
        Inequality relation.
        Parameters:
        a - the a number (a <> b)
        b - the b number (a <> b)
        Returns:
        if a = Double.NaN or b = Double.NaN return Double.NaN, else if a <> b return 1, otherwise return 0.
      • lt

        public static double lt​(double a,
                                double b)
        Lower than relation.
        Parameters:
        a - the a number (a < b)
        b - the b number (a < b)
        Returns:
        if a = Double.NaN or b = Double.NaN return Double.NaN, else if a < b return 1, otherwise return 0.
      • gt

        public static double gt​(double a,
                                double b)
        Greater than relation.
        Parameters:
        a - the a number (a > b)
        b - the b number (a > b)
        Returns:
        if a = Double.NaN or b = Double.NaN return Double.NaN, else if a > b return 1, otherwise return 0.
      • leq

        public static double leq​(double a,
                                 double b)
        Lower or equal relation.
        Parameters:
        a - the a number (a <= b)
        b - the b number (a <= b)
        Returns:
        if a = Double.NaN or b = Double.NaN return Double.NaN, else if a <= b return 1, otherwise return 0.
      • geq

        public static double geq​(double a,
                                 double b)
        Greater or equal relation.
        Parameters:
        a - the a number (a >= b)
        b - the b number (a >= b)
        Returns:
        if a = Double.NaN or b = Double.NaN return Double.NaN, else if a >= b return 1, otherwise return 0.