MCPcopy Create free account
hub / github.com/dfm/george / KernelInterface

Class KernelInterface

src/george/kernel_interface.cpp:10–35  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8namespace py = pybind11;
9
10class KernelInterface {
11 public:
12 KernelInterface (py::object kernel_spec) : kernel_spec_(kernel_spec) {
13 kernel_ = george::parse_kernel_spec(kernel_spec_);
14 };
15 ~KernelInterface () {
16 delete kernel_;
17 };
18 size_t ndim () const { return kernel_->get_ndim(); };
19 size_t size () const { return kernel_->size(); };
20 double value (const double* x1, const double* x2) const { return kernel_->value(x1, x2); };
21 void gradient (const double* x1, const double* x2, const unsigned* which, double* grad) const {
22 return kernel_->gradient(x1, x2, which, grad);
23 };
24 void x1_gradient (const double* x1, const double* x2, double* grad) const {
25 return kernel_->x1_gradient(x1, x2, grad);
26 };
27 void x2_gradient (const double* x1, const double* x2, double* grad) const {
28 return kernel_->x2_gradient(x1, x2, grad);
29 };
30 py::object kernel_spec () const { return kernel_spec_; };
31
32 private:
33 py::object kernel_spec_;
34 george::kernels::Kernel* kernel_;
35};
36
37
38PYBIND11_MODULE(kernel_interface, m) {

Callers 2

kernels.pyFile · 0.85
kernelMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected