in include/kernel_function.hpp [90:100]
double operator()(const std::vector<double>& a, const std::vector<double>& b) const {
const npy_intp size_a[1] { static_cast<npy_int>(a.size()) };
const npy_intp size_b[1] { static_cast<npy_int>(b.size()) };
nb::handle a_obj(PyArray_SimpleNewFromData(1, size_a, NPY_DOUBLE, const_cast<double*>(a.data())));
nb::handle b_obj(PyArray_SimpleNewFromData(1, size_b, NPY_DOUBLE, const_cast<double*>(b.data())));
double val = _kernel->operator()(
a_obj,
b_obj
);
return val;
}