OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
PyPolynomialPatch.h
Go to the documentation of this file.
1//
2// Python API for PolynomialCoefficient (part of the multidimensional polynomial fitting routines)
3//
4// Copyright (c) 2008-2023, Chris Rogers, STFC Rutherford Appleton Laboratory, Didcot, UK
5//
6// This file is part of OPAL.
7//
8// OPAL is free software: you can redistribute it and/or modify
9// it under the terms of the GNU General Public License as published by
10// the Free Software Foundation, either version 3 of the License, or
11// (at your option) any later version.
12//
13// You should have received a copy of the GNU General Public License
14// along with OPAL. If not, see <https://www.gnu.org/licenses/>.
15//
16
17
18#ifndef PYOPAL_PyPolynomialPatch_H
19#define PYOPAL_PyPolynomialPatch_H
20
21#include <Python.h>
22
23namespace interpolation {
24
25// note following are in interpolation namespace
26class PolynomialPatch;
27}
28
30
35typedef struct {
36 PyObject_HEAD;
39
47static PyObject *_alloc(PyTypeObject *type, Py_ssize_t nitems);
48
58static int _init(PyObject* self, PyObject *args, PyObject *kwds);
59
65static void _dealloc(PyPolynomialMap * self);
66
68static void _free(PyPolynomialMap * self);
69
75PyMODINIT_FUNC initsquare_polynomial_map(void);
76
86static PyObject* get_coefficients_as_matrix(PyObject *self, PyObject *args,
87 PyObject *kwds);
88
97static PyObject* evaluate(PyObject *self, PyObject *args,
98 PyObject *kwds);
99
108// static PyObject* point_dimension(PyObject *self, PyObject *args,
109// PyObject *kwds);
110
119// static PyObject* value_dimension(PyObject *self, PyObject *args,
120// PyObject *kwds);
121
130// static PyObject* str(PyObject *self, PyObject *args, PyObject *kwds);
131
132} // namespace PySquarePolynomialMap
133
134#endif // PYOPAL_PySquarePolynomialMap_H
PyMODINIT_FUNC initsquare_polynomial_map(void)
Patches together many SquarePolynomialVectors to make a multidimensional polynomial spline.