23 #include "../BPy_Convert.h"
24 #include "../BPy_IntegrationType.h"
25 #include "../BPy_Interface1D.h"
55 "Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DFloat`\n"
57 "Base class for unary functions (functors) that work on\n"
58 ":class:`Interface1D` and return a float value.\n"
60 ".. method:: __init__()\n"
61 " __init__(integration_type)\n"
63 " Builds a unary 1D function using the default constructor\n"
64 " or the integration method given as an argument.\n"
66 " :arg integration_type: An integration method.\n"
67 " :type integration_type: :class:`IntegrationType`\n";
73 static const char *kwlist[] = {
"integration",
nullptr};
74 PyObject *obj =
nullptr;
76 if (!PyArg_ParseTupleAndKeywords(
88 self->uf1D_float->py_uf1D = (PyObject *)
self;
95 delete self->uf1D_float;
101 return PyUnicode_FromFormat(
"type: %s - address: %p", Py_TYPE(
self)->tp_name,
self->uf1D_float);
108 static const char *kwlist[] = {
"inter",
nullptr};
109 PyObject *obj =
nullptr;
111 if (!PyArg_ParseTupleAndKeywords(args, kwds,
"O!", (
char **)kwlist, &
Interface1D_Type, &obj)) {
116 PyErr_SetString(PyExc_TypeError,
"__call__ method not properly overridden");
120 if (!PyErr_Occurred()) {
121 string class_name(Py_TYPE(
self)->tp_name);
122 PyErr_SetString(PyExc_RuntimeError, (class_name +
" __call__ method failed").c_str());
126 return PyFloat_FromDouble(
self->uf1D_float->result);
132 "The integration method.\n"
134 ":type: :class:`IntegrationType`");
146 PyErr_SetString(PyExc_TypeError,
"value must be an IntegrationType");
157 integration_type_doc,
159 {
nullptr,
nullptr,
nullptr,
nullptr,
nullptr}
165 PyVarObject_HEAD_INIT(
nullptr, 0)
"UnaryFunction1DFloat",
183 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
PyObject * BPy_IntegrationType_from_IntegrationType(IntegrationType i)
IntegrationType IntegrationType_from_BPy_IntegrationType(PyObject *obj)
PyTypeObject IntegrationType_Type
#define BPy_IntegrationType_Check(v)
PyTypeObject Interface1D_Type
PyDoc_STRVAR(integration_type_doc, "The integration method.\n" "\n" ":type: :class:`IntegrationType`")
PyTypeObject UnaryFunction1DFloat_Type
static int UnaryFunction1DFloat___init__(BPy_UnaryFunction1DFloat *self, PyObject *args, PyObject *kwds)
static int integration_type_set(BPy_UnaryFunction1DFloat *self, PyObject *value, void *UNUSED(closure))
static PyObject * integration_type_get(BPy_UnaryFunction1DFloat *self, void *UNUSED(closure))
int UnaryFunction1DFloat_Init(PyObject *module)
static PyObject * UnaryFunction1DFloat___repr__(BPy_UnaryFunction1DFloat *self)
static PyGetSetDef BPy_UnaryFunction1DFloat_getseters[]
static void UnaryFunction1DFloat___dealloc__(BPy_UnaryFunction1DFloat *self)
static char UnaryFunction1DFloat___doc__[]
static PyObject * UnaryFunction1DFloat___call__(BPy_UnaryFunction1DFloat *self, PyObject *args, PyObject *kwds)
PyTypeObject UnaryFunction1D_Type
static struct PyModuleDef module