adjacentDifference method
- T op(
- T,
- T
Computes the differences between adjacent elements.
Similar to std::adjacent_difference. The first element is copied as-is,
then each subsequent element is op(current, previous). Default op is -.
Implementation
List<T> adjacentDifference([T Function(T, T)? op]) {
op ??= (T a, T b) => ((a as dynamic) - (b as dynamic)) as T;
var result = <T>[];
var it = iterator;
if (!it.moveNext()) return result;
result.add(it.current);
var prev = it.current;
while (it.moveNext()) {
var val = it.current;
result.add(op(val, prev));
prev = val;
}
return result;
}