range_sum method

  1. @override
T range_sum({
  1. required int index_from,
  2. required int index_to,
})
override

Returns the sum between two indices.

Example: If the tree is built with 1, 2, 3, 4, 5 then rangeSum(1, 4) will return the sum of 2, 3, 4 which is 9.

Implementation

@override
T range_sum({
  required final int index_from,
  required final int index_to,
}) {
  final a = index_from;
  final b = index_to;
  assert(b > a, "");
  assert(a > -1, "");
  assert(b > -1, "");
  assert(array.length > a + 1, "");
  assert(array.length > b, "");
  if (a == 0) {
    return sum(
      index_to: b - 1,
    );
  } else {
    return algebra.inverse(
      sum(index_to: b - 1),
      sum(index_to: a - 1),
    );
  }
}