auto vector_of_kll_sketches::get_quantiles()

in src/vector_of_kll.cpp [407:425]


auto vector_of_kll_sketches<T, C>::get_quantiles(ArrInputType<double>& ranks,
                                                 ArrInputType<int>& isk) const -> Array2D<T> {
  Array1D<int> indices = input_to_vec<int>(isk);
  Array1D<uint32_t> inds = get_indices(indices);
  size_t num_sketches = inds.size();

  Array1D<double> ranks_arr = input_to_vec<double>(ranks);
  size_t num_quantiles = ranks_arr.size();

  auto quants = make_ndarray<T>(num_sketches, num_quantiles);
  auto view = quants.view();
  auto ranks_view = ranks_arr.view();
  for (uint32_t i = 0; i < num_sketches; ++i) {
    for (size_t j = 0; j < num_quantiles; ++j) {
      view(i, j) = sketches_[inds(i)].get_quantile(ranks_view(j));
    }
  }
  return quants;
}