addOrSubtract method

UGfPoly addOrSubtract(
  1. UGfPoly other
)

Implementation

UGfPoly addOrSubtract(UGfPoly other) {
  if (isZero) return other;
  if (other.isZero) return this;
  Int32List smaller = _coefficients;
  Int32List larger = other._coefficients;
  if (smaller.length > larger.length) {
    final Int32List swap = smaller;
    smaller = larger;
    larger = swap;
  }
  final Int32List sum = Int32List(larger.length);
  final int difference = larger.length - smaller.length;
  sum.setRange(0, difference, larger);
  for (int i = difference; i < larger.length; i++) {
    sum[i] = UGaloisField.addOrSubtract(smaller[i - difference], larger[i]);
  }
  return UGfPoly(field, sum);
}