in core/src/main/java/gnu/trove/TLongArrayList.java [677:703]
public int binarySearch(long value, int fromIndex, int toIndex) {
if (fromIndex < 0) {
throw new ArrayIndexOutOfBoundsException(fromIndex);
}
if (toIndex > _pos) {
throw new ArrayIndexOutOfBoundsException(toIndex);
}
int low = fromIndex;
int high = toIndex - 1;
while (low <= high) {
int mid = (low + high) >> 1;
long midVal = _data[mid];
if (midVal < value) {
low = mid + 1;
}
else if (midVal > value) {
high = mid - 1;
}
else {
return mid; // value found
}
}
return -(low + 1); // value not found.
}