NEURON
nrnpy_hoc.h
Go to the documentation of this file.
1 #include "nrnpython.h"
2 
3 static PyType_Slot nrnpy_HocObjectType_slots[] = {
4  {Py_tp_dealloc, (void*) hocobj_dealloc},
5  {Py_tp_repr, (void*) hocobj_repr},
6  {Py_tp_hash, (void*) hocobj_hash},
7  {Py_tp_call, (void*) hocobj_call},
8  {Py_tp_getattro, (void*) hocobj_getattro},
9  {Py_tp_setattro, (void*) hocobj_setattro},
10  {Py_tp_richcompare, (void*) hocobj_richcmp},
11  {Py_tp_iter, (void*) &hocobj_iter},
12  {Py_tp_iternext, (void*) &hocobj_iternext},
13  {Py_tp_methods, (void*) hocobj_methods},
14  {Py_tp_init, (void*) hocobj_init},
15  {Py_tp_new, (void*) hocobj_new},
16  {Py_tp_doc, (void*) hocobj_docstring},
17  {Py_nb_bool, (void*) hocobj_nonzero},
18  {Py_sq_length, (void*) hocobj_len},
19  {Py_sq_item, (void*) hocobj_getitem},
20  {Py_sq_ass_item, (void*) hocobj_setitem},
21  {Py_nb_add, (PyObject*) py_hocobj_add},
22  {Py_nb_subtract, (PyObject*) py_hocobj_sub},
23  {Py_nb_multiply, (PyObject*) py_hocobj_mul},
24  {Py_nb_negative, (PyObject*) py_hocobj_uneg},
25  {Py_nb_positive, (PyObject*) py_hocobj_upos},
26  {Py_nb_absolute, (PyObject*) py_hocobj_uabs},
27  {Py_nb_true_divide, (PyObject*) py_hocobj_div},
28  {0, 0},
29 };
30 static PyType_Spec nrnpy_HocObjectType_spec = {
31  "hoc.HocObject",
32  sizeof(PyHocObject),
33  0,
34  Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
36 };
37 
38 
39 static struct PyModuleDef hocmodule = {PyModuleDef_HEAD_INIT,
40  "hoc",
41  "HOC interaction with Python",
42  -1,
43  HocMethods,
44  NULL,
45  NULL,
46  NULL,
47  NULL};
static void hocobj_dealloc(PyHocObject *self)
Definition: nrnpy_hoc.cpp:181
static PyObject * hocobj_getattro(PyObject *subself, PyObject *name)
Definition: nrnpy_hoc.cpp:1292
static PyObject * py_hocobj_add(PyObject *obj1, PyObject *obj2)
Definition: nrnpy_hoc.cpp:2899
static PyObject * py_hocobj_uabs(PyObject *obj)
Definition: nrnpy_hoc.cpp:2903
static int hocobj_init(PyObject *subself, PyObject *args, PyObject *kwds)
Definition: nrnpy_hoc.cpp:256
static PyObject * hocobj_call(PyHocObject *self, PyObject *args, PyObject *kwrds)
Definition: nrnpy_hoc.cpp:704
static PyObject * hocobj_iter(PyObject *self)
Definition: nrnpy_hoc.cpp:1596
static PyObject * py_hocobj_uneg(PyObject *obj)
Definition: nrnpy_hoc.cpp:2907
static PyObject * py_hocobj_upos(PyObject *obj)
Definition: nrnpy_hoc.cpp:2911
static int hocobj_setattro(PyObject *subself, PyObject *pyname, PyObject *value)
Definition: nrnpy_hoc.cpp:1310
static PyObject * py_hocobj_div(PyObject *obj1, PyObject *obj2)
Definition: nrnpy_hoc.cpp:2923
static int hocobj_setitem(PyObject *self, Py_ssize_t i, PyObject *arg)
Definition: nrnpy_hoc.cpp:1890
static PyMethodDef hocobj_methods[]
Definition: nrnpy_hoc.cpp:2805
static PyObject * hocobj_richcmp(PyHocObject *self, PyObject *other, int op)
Definition: nrnpy_hoc.cpp:2136
static PyObject * hocobj_repr(PyObject *p)
Definition: nrnpy_hoc.cpp:327
static PyObject * py_hocobj_sub(PyObject *obj1, PyObject *obj2)
Definition: nrnpy_hoc.cpp:2915
static PyMethodDef HocMethods[]
Definition: nrnpy_hoc.cpp:176
static PyObject * hocobj_getitem(PyObject *self, Py_ssize_t ix)
Definition: nrnpy_hoc.cpp:1765
static int hocobj_nonzero(PyObject *self)
Definition: nrnpy_hoc.cpp:1568
static Py_ssize_t hocobj_len(PyObject *self)
Definition: nrnpy_hoc.cpp:1541
static PyObject * hocobj_iternext(PyObject *self)
Definition: nrnpy_hoc.cpp:1740
static long hocobj_hash(PyHocObject *self)
Definition: nrnpy_hoc.cpp:2103
static PyObject * hocobj_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
Definition: nrnpy_hoc.cpp:207
static PyObject * py_hocobj_mul(PyObject *obj1, PyObject *obj2)
Definition: nrnpy_hoc.cpp:2919
static const char * hocobj_docstring
Definition: nrnpy_hoc.cpp:122
static PyType_Spec nrnpy_HocObjectType_spec
Definition: nrnpy_hoc.h:30
static struct PyModuleDef hocmodule
Definition: nrnpy_hoc.h:39
static PyType_Slot nrnpy_HocObjectType_slots[]
Definition: nrnpy_hoc.h:3
#define NULL
Definition: sptree.h:16