partialSum method

List<T> partialSum([
  1. T op(
    1. T,
    2. T
    )?
])

Computes the prefix sums (partial sums).

Similar to std::partial_sum. The first element is copied as-is. Each subsequent element is op(sum, current). Default op is +.

Implementation

List<T> partialSum([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;

  var sum = it.current;
  result.add(sum);
  while (it.moveNext()) {
    sum = op(sum, it.current);
    result.add(sum);
  }
  return result;
}