getEntriesForXValue method
List<T>
getEntriesForXValue(
- double? xValue
)
override
Implementation
@override
List<T> getEntriesForXValue(double? xValue) {
List<T> entries = List<T>.empty(growable: true);
int low = 0;
int high = _values!.length - 1;
while (low <= high) {
int m = (high + low) ~/ 2;
T entry = _values![m];
// if we have a match
if (xValue == entry.x) {
while (m > 0 && _values![m - 1].x == xValue) {
m--;
}
high = _values!.length;
// loop over all "equal" entries
for (; m < high; m++) {
entry = _values![m];
if (entry.x == xValue) {
entries.add(entry);
} else {
break;
}
}
break;
} else {
if (xValue! > entry.x) {
low = m + 1;
} else {
high = m - 1;
}
}
}
return entries;
}