in src/main/java/org/apache/datasketches/quantilescommon/GenericInequalitySearch.java [157:177]
private static <T> int compare(final T[] arr, final int a, final int b, final T v,
final Inequality crit, final Comparator<T> comparator) {
int result = 0;
switch (crit) {
case GE:
case LT: {
result = comparator.compare(v, arr[a]) <= 0 ? -1 : comparator.compare(arr[b], v) < 0 ? 1 : 0;
break;
}
case GT:
case LE: {
result = comparator.compare(v, arr[a]) < 0 ? -1 : comparator.compare(arr[b], v) <= 0 ? 1 : 0;
break;
}
case EQ: {
result = comparator.compare(v, arr[a]) < 0 ? -1 : comparator.compare(arr[b], v) < 0 ? 1 : 0;
break;
}
}
return result;
}