Add static method

List<int> Add(
  1. LexoNumeralSystem sys,
  2. List<int> l,
  3. List<int> r
)

Implementation

static List<int> Add(LexoNumeralSystem sys, List<int> l, List<int> r) {
  final estimatedSize = max(l.length, r.length);
  final result = List<int>.filled(estimatedSize, 0);
  var carry = 0;
  for (var i = 0; i < estimatedSize; ++i) {
    final lnum = i < l.length ? l[i] : 0;
    final rnum = i < r.length ? r[i] : 0;
    var sum = lnum + rnum + carry;
    for (carry = 0; sum >= sys.getBase(); sum -= sys.getBase()) {
      ++carry;
    }
    result[i] = sum;
  }
  return LexoInteger.extendWithCarry(result, carry);
}