message: fix square and multiply "bug"
  Sonarqube is complaining again
diff: @@ -127,7 +127,8 @@ std::shared_ptr<Csr> extend_sparsity(std::shared_ptr<const Executor> &exec,
  // accumulates mtx * the remainder from odd powers
  auto acc = mtx->clone();
  // compute id^(n-1) using square-and-multiply
  - for (int i = power - 1; i > 1; i /= 2) {
  + int i = power - 1;
  + while (i > 1) {
  if (i % 2 != 0) {
  // store one power in acc:
  // i^(2n+1) -> i*i^2n
  @@ -138,6 +139,7 @@ std::shared_ptr<Csr> extend_sparsity(std::shared_ptr<const Executor> &exec,
  // square id_power: i^2n -> (i^2)^n
  id_power->apply(id_power.get(), tmp.get());
  std::swap(id_power, tmp);
  + i /= 2;
  }
  // combine acc and id_power again
  id_power->apply(acc.get(), tmp.get());
  