57template<
typename Task_,
class Run_>
58void parallelize(
const int num_workers,
const Task_ num_tasks, Run_ run_task_range) {
59#ifndef MNNCORRECT_CUSTOM_PARALLEL
63 MNNCORRECT_CUSTOM_PARALLEL(num_workers, num_tasks, run_task_range);
72template<
typename Index_,
typename Distance_>
73using NeighborSet = std::vector<std::vector<std::pair<Index_, Distance_> > >;
75template<
typename Index_,
typename Float_>
77 Corrected() =
default;
79 std::unique_ptr<knncolle::Prebuilt<Index_, Float_, Float_> > index;
80 std::vector<Index_> ids;
83template<
typename Index_,
typename Float_>
85 Index_ offset, num_obs;
86 std::unique_ptr<knncolle::Prebuilt<Index_, Float_, Float_> > index;
87 std::vector<Corrected<Index_, Float_> > extras;
92template<
typename Input_>
93std::remove_cv_t<std::remove_reference_t<Input_> > I(
const Input_ x) {