Class FloatComparator

  • All Implemented Interfaces:
    java.util.Comparator<java.lang.Float>

    public class FloatComparator
    extends java.lang.Object
    implements java.util.Comparator<java.lang.Float>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private float epsilon  
    • Constructor Summary

      Constructors 
      Constructor Description
      FloatComparator​(float epsilon)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private boolean closeEnough​(java.lang.Float x, java.lang.Float y, float epsilon)  
      int compare​(java.lang.Float x, java.lang.Float y)  
      private static boolean complexCloseEnough​(float a, float b, float epsilon)
      handles floating point comparison according to http://floating-point-gui.de/errors/comparison/
      boolean equals​(java.lang.Object obj)  
      float getEpsilon()  
      int hashCode()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.util.Comparator

        reversed, thenComparing, thenComparing, thenComparing, thenComparingDouble, thenComparingInt, thenComparingLong
    • Field Detail

      • epsilon

        private float epsilon
    • Constructor Detail

      • FloatComparator

        public FloatComparator​(float epsilon)
    • Method Detail

      • getEpsilon

        public float getEpsilon()
      • compare

        public int compare​(java.lang.Float x,
                           java.lang.Float y)
        Specified by:
        compare in interface java.util.Comparator<java.lang.Float>
      • closeEnough

        private boolean closeEnough​(java.lang.Float x,
                                    java.lang.Float y,
                                    float epsilon)
      • complexCloseEnough

        private static boolean complexCloseEnough​(float a,
                                                  float b,
                                                  float epsilon)
        handles floating point comparison according to http://floating-point-gui.de/errors/comparison/
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Specified by:
        equals in interface java.util.Comparator<java.lang.Float>
        Overrides:
        equals in class java.lang.Object