Package net.algart.math
Class IRangeFinder
java.lang.Object
net.algart.math.IRangeFinder
- 
Nested Class SummaryNested Classes
- 
Method SummaryModifier and TypeMethodDescriptionvoidclear()compact()intfindContaining(double point, int[] resultIndexes) voidfindContaining(double point, IntConsumer indexConsumer) voidfindContaining(double point, IRangeConsumer rangeConsumer) intfindContaining(int point, int[] resultIndexes) voidfindContaining(int point, IntConsumer indexConsumer) voidfindContaining(int point, IRangeConsumer rangeConsumer) intfindIntersecting(int min, int max, int[] resultIndexes) voidfindIntersecting(int min, int max, IntConsumer indexConsumer) voidfindIntersecting(int min, int max, IRangeConsumer rangeConsumer) static IRangeFinderstatic IRangeFinderstatic IRangeFindergetInstance(int[] left, int[] right) static IRangeFindergetInstance(IntUnaryOperator left, IntUnaryOperator right, int numberOfRanges) final booleanindexActual(int k) final IntUnaryOperatorleft()final intleft(int k) final intfinal IntUnaryOperatorright()final intright(int k) final IRangeFinderfinal IRangeFindersetIndexActual(IntPredicate indexActual) Allows to remove some ranges from finding, for example, if they were processed by some way and already not necessary.final IRangeFindersetIndexedRanges(int[] allLeft, int[] allRight, int[] indexes, int numberOfRanges) final IRangeFindersetRanges(int[] left, int[] right) final IRangeFindersetRanges(IntUnaryOperator left, IntUnaryOperator right, int numberOfRanges) toString()static intunpackHigh(long packed) static intunpackLow(long packed) 
- 
Method Details- 
getEmptyInstance
- 
getEmptyUnoptimizedInstance
- 
getInstancepublic static IRangeFinder getInstance(IntUnaryOperator left, IntUnaryOperator right, int numberOfRanges) 
- 
getInstance
- 
left
- 
right
- 
leftpublic final int left(int k) 
- 
rightpublic final int right(int k) 
- 
numberOfRangespublic final int numberOfRanges()
- 
setRangespublic final IRangeFinder setRanges(IntUnaryOperator left, IntUnaryOperator right, int numberOfRanges) 
- 
setRanges
- 
setIndexedRangespublic final IRangeFinder setIndexedRanges(int[] allLeft, int[] allRight, int[] indexes, int numberOfRanges) 
- 
setIndexActualAllows to remove some ranges from finding, for example, if they were processed by some way and already not necessary. For such indexes, indexActual.test(index) should return false. By default, all indexes are actual (built-in indexActual always returns true).Note that this method should be very quick/ If it requires essential time, it is better to check actuality in the high-level processing. - Parameters:
- indexActual- whether a range with the given index is necessary to be returned
- Returns:
- a reference to this object.
 
- 
setAllIndexesActual
- 
indexActualpublic final boolean indexActual(int k) 
- 
compact
- 
findContaining
- 
findContaining
- 
findContainingpublic int findContaining(int point, int[] resultIndexes) 
- 
findContaining
- 
findContaining
- 
findContainingpublic int findContaining(double point, int[] resultIndexes) 
- 
findIntersecting
- 
findIntersecting
- 
findIntersectingpublic int findIntersecting(int min, int max, int[] resultIndexes) 
- 
clearpublic void clear()
- 
toString
- 
unpackHighpublic static int unpackHigh(long packed) 
- 
unpackLowpublic static int unpackLow(long packed) 
 
-