public class ListConcatCombiner<T extends Comparable<T>,V extends Content<V>,R extends Range<T,V>> extends Object implements FilterCombiner<RangeListFilter<T,V,R>,V,R>
| Constructor and Description |
|---|
ListConcatCombiner(int threshold) |
| Modifier and Type | Method and Description |
|---|---|
SelectiveFilter<RangeListFilter<T,V,R>> |
combine(FilteredIndexRange<RangeListFilter<T,V,R>,R> lower,
FilteredIndexRange<RangeListFilter<T,V,R>,R> higher,
V gapEstimate)
If the gap is zero, joins the last index range and the first index range
into one range that covers both, and keeps the other ranges intact.
|
String |
toString() |
static <T extends Comparable<T>,V extends Content<V>,R extends Range<T,V>> |
unbounded() |
public static <T extends Comparable<T>,V extends Content<V>,R extends Range<T,V>> ListConcatCombiner<T,V,R> unbounded()
public SelectiveFilter<RangeListFilter<T,V,R>> combine(FilteredIndexRange<RangeListFilter<T,V,R>,R> lower, FilteredIndexRange<RangeListFilter<T,V,R>,R> higher, V gapEstimate)
gapEstimate. Instead we extract
its signum and use that to optimise the situation when the gap is zero.combine in interface FilterCombiner<RangeListFilter<T extends Comparable<T>,V extends Content<V>,R extends Range<T,V>>,V extends Content<V>,R extends Range<T,V>>lower - must not be emptyhigher - must not be emptygapEstimate - the estimate of the number of points in the gap between
the index ranges. If zero, then it is guaranteed that there are no data
points in between. If non zero, it is just an estimate and its accuracy
depends on the accuracy provided by the RegionInspector in use.
If the two ranges are adjacent, i.e. firstFilteredRange.getIndexRange().getEnd() ==
secondFilteredRange.getIndexRange().getStart(), then the gap estimate is
guaranteed to be zero.Copyright © 2014. All Rights Reserved.