23 #include <pybind11/pybind11.h> 
   25 #include <pybind11/stl.h> 
   27 #include "ndarray/pybind11.h" 
   37     py::class_<KdTree<T>> clsKdTree(mod, (
"KdTree" + suffix).c_str());
 
   38     clsKdTree.def(py::init<>());
 
   53             mod, (
"Covariogram" + suffix).c_str());
 
   54     clsCovariogram.def(py::init<>());
 
   59             clsSquaredExpCovariogram(mod, (
"SquaredExpCovariogram" + suffix).c_str());
 
   60     clsSquaredExpCovariogram.def(py::init<>());
 
   66             clsNeuralNetCovariogram(mod, (
"NeuralNetCovariogram" + suffix).c_str());
 
   67     clsNeuralNetCovariogram.def(py::init<>());
 
   74     py::class_<GaussianProcess<T>> clsGaussianProcess(mod, (
"GaussianProcess" + suffix).c_str());
 
   76     clsGaussianProcess.def(
py::init<ndarray::Array<T, 2, 2> 
const &, ndarray::Array<T, 1, 1> 
const &,
 
   78     clsGaussianProcess.def(
py::init<ndarray::Array<T, 2, 2> 
const &, ndarray::Array<T, 1, 1> 
const &,
 
   79                                     ndarray::Array<T, 1, 1> 
const &, ndarray::Array<T, 1, 1> 
const &,
 
   81     clsGaussianProcess.def(
py::init<ndarray::Array<T, 2, 2> 
const &, ndarray::Array<T, 2, 2> 
const &,
 
   83     clsGaussianProcess.def(
py::init<ndarray::Array<T, 2, 2> 
const &, ndarray::Array<T, 1, 1> 
const &,
 
   84                                     ndarray::Array<T, 1, 1> 
const &, ndarray::Array<T, 2, 2> 
const &,
 
   87     clsGaussianProcess.def(
 
   89             (T (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1>, ndarray::Array<T, 1, 1> 
const &, 
int) 
const) &
 
   91     clsGaussianProcess.def(
"interpolate",
 
   93                                                          ndarray::Array<T, 1, 1> 
const &, 
int) 
const) &
 
   95     clsGaussianProcess.def(
"selfInterpolate",
 
   98     clsGaussianProcess.def(
 
  100             (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1>, ndarray::Array<T, 1, 1>, 
int, 
int) 
const) &
 
  104     clsGaussianProcess.def(
"addPoint", (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1> 
const &, T)) &
 
  106     clsGaussianProcess.def(
"addPoint", (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1> 
const &,
 
  107                                                                      ndarray::Array<T, 1, 1> 
const &)) &
 
  109     clsGaussianProcess.def(
"batchInterpolate",
 
  111                                                          ndarray::Array<T, 2, 2> 
const &) 
const) &
 
  113     clsGaussianProcess.def(
 
  115             (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 1, 1>, ndarray::Array<T, 2, 2> 
const &) 
const) &
 
  117     clsGaussianProcess.def(
"batchInterpolate",
 
  119                                                          ndarray::Array<T, 2, 2> 
const &) 
const) &
 
  121     clsGaussianProcess.def(
 
  123             (
void (
GaussianProcess<T>::*)(ndarray::Array<T, 2, 2>, ndarray::Array<T, 2, 2> 
const &) 
const) &
 
  128     clsGaussianProcess.def(
"getData",
 
  130                                                          ndarray::Array<int, 1, 1>) 
const) &
 
  132     clsGaussianProcess.def(
"getData",
 
  134                                                          ndarray::Array<int, 1, 1>) 
const) &
 
  139     declareCovariograms<double>(mod, 
"D");
 
  140     declareGaussianProcess<double>(mod, 
"D");
 
  141     declareKdTree<double>(mod, 
"D");