multiply method

QrPolynomial multiply(
  1. QrPolynomial e
)

Implementation

QrPolynomial multiply(QrPolynomial e) {
  final int eLength = e.length;
  final int valLength = length;
  final Uint8List foo = Uint8List(valLength + eLength - 1);

  final Uint8List eValues = e._values;

  for (int i = 0; i < valLength; i++) {
    final int v1 = _values[i];
    if (v1 == 0) continue;
    final int log1 = glog(v1);
    for (int j = 0; j < eLength; j++) {
      final int v2 = eValues[j];
      if (v2 == 0) continue;
      foo[i + j] ^= gexp(log1 + glog(v2));
    }
  }

  return QrPolynomial._internal(foo);
}