forEach method

void forEach(
  1. void callback(
    1. int exponent,
    2. T value
    )
)

Iterates over each element of the polynomial from the largest exponent down to the smallest exponent. This way of iteration is more efficient on sparse data structure and skips over neutral elements.

Implementation

void forEach(void Function(int exponent, T value) callback) {
  final additiveIdentity = dataType.field.additiveIdentity;
  for (var exponent = degree; exponent >= 0; exponent--) {
    final value = getUnchecked(exponent);
    if (value != additiveIdentity) {
      callback(exponent, this[exponent]);
    }
  }
}