Class IntervalSize
- java.lang.Object
-
- org.locationtech.jts.index.quadtree.IntervalSize
-
public class IntervalSize extends java.lang.Object
Provides a test for whether an interval is so small it should be considered as zero for the purposes of inserting it into a binary tree. The reason this check is necessary is that round-off error can cause the algorithm used to subdivide an interval to fail, by computing a midpoint value which does not lie strictly between the endpoints.- Version:
- 1.7
-
-
Field Summary
Fields Modifier and Type Field Description static int
MIN_BINARY_EXPONENT
This value is chosen to be a few powers of 2 less than the number of bits available in the double representation (i.e.
-
Constructor Summary
Constructors Constructor Description IntervalSize()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
isZeroWidth(double min, double max)
Computes whether the interval [min, max] is effectively zero width.
-
-
-
Field Detail
-
MIN_BINARY_EXPONENT
public static final int MIN_BINARY_EXPONENT
This value is chosen to be a few powers of 2 less than the number of bits available in the double representation (i.e. 53). This should allow enough extra precision for simple computations to be correct, at least for comparison purposes.- See Also:
- Constant Field Values
-
-
Method Detail
-
isZeroWidth
public static boolean isZeroWidth(double min, double max)
Computes whether the interval [min, max] is effectively zero width. I.e. the width of the interval is so much less than the location of the interval that the midpoint of the interval cannot be represented precisely.
-
-