compress method

  1. @visibleForTesting
void compress()

Compress the partial products array to two addends

Implementation

@visibleForTesting
void compress() {
  if (!_compressed) {
    final terms = <CompressTerm>[];
    var iterations = longestColumn();
    while (iterations > 0) {
      terms.addAll(_compressIter(iterations--));
      if (longestColumn() <= 2) {
        break;
      }
    }
    add0 <= _extractRow(0);
    add1 <= _extractRow(1);
    _compressed = true;
  } else {
    throw RohdHclException(
        'ColumnCompressor.compress() called multiple times');
  }
}