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, "hoc",
40  "HOC interaction with Python", -1,
41  HocMethods, NULL, NULL, NULL, NULL};
static const char * hocobj_docstring
Definition: nrnpy_hoc.cpp:124
static long hocobj_hash(PyHocObject *self)
Definition: nrnpy_hoc.cpp:2102
static int hocobj_setitem(PyObject *self, Py_ssize_t i, PyObject *arg)
Definition: nrnpy_hoc.cpp:1888
static struct PyModuleDef hocmodule
Definition: nrnpy_hoc.h:39
static Py_ssize_t hocobj_len(PyObject *self)
Definition: nrnpy_hoc.cpp:1539
static PyObject * py_hocobj_mul(PyObject *obj1, PyObject *obj2)
Definition: nrnpy_hoc.cpp:2910
static PyType_Slot nrnpy_HocObjectType_slots[]
Definition: nrnpy_hoc.h:3
static PyObject * hocobj_call(PyHocObject *self, PyObject *args, PyObject *kwrds)
Definition: nrnpy_hoc.cpp:711
static PyObject * hocobj_iternext(PyObject *self)
Definition: nrnpy_hoc.cpp:1738
static PyObject * hocobj_getattro(PyObject *subself, PyObject *name)
Definition: nrnpy_hoc.cpp:1294
static PyObject * hocobj_repr(PyObject *p)
Definition: nrnpy_hoc.cpp:333
static PyObject * hocobj_new(PyTypeObject *subtype, PyObject *args, PyObject *kwds)
Definition: nrnpy_hoc.cpp:212
static PyObject * hocobj_richcmp(PyHocObject *self, PyObject *other, int op)
Definition: nrnpy_hoc.cpp:2133
static PyObject * py_hocobj_uabs(PyObject *obj)
Definition: nrnpy_hoc.cpp:2894
static PyType_Spec nrnpy_HocObjectType_spec
Definition: nrnpy_hoc.h:30
static int hocobj_init(PyObject *subself, PyObject *args, PyObject *kwds)
Definition: nrnpy_hoc.cpp:263
static PyObject * hocobj_iter(PyObject *self)
Definition: nrnpy_hoc.cpp:1594
static PyMethodDef HocMethods[]
Definition: nrnpy_hoc.cpp:180
static void hocobj_dealloc(PyHocObject *self)
Definition: nrnpy_hoc.cpp:186
static PyObject * py_hocobj_sub(PyObject *obj1, PyObject *obj2)
Definition: nrnpy_hoc.cpp:2906
static int hocobj_setattro(PyObject *subself, PyObject *pyname, PyObject *value)
Definition: nrnpy_hoc.cpp:1312
static int hocobj_nonzero(PyObject *self)
Definition: nrnpy_hoc.cpp:1566
static PyObject * py_hocobj_add(PyObject *obj1, PyObject *obj2)
Definition: nrnpy_hoc.cpp:2890
return NULL
Definition: cabcode.cpp:461
static PyObject * py_hocobj_div(PyObject *obj1, PyObject *obj2)
Definition: nrnpy_hoc.cpp:2914
static PyObject * hocobj_getitem(PyObject *self, Py_ssize_t ix)
Definition: nrnpy_hoc.cpp:1763
static PyMethodDef hocobj_methods[]
Definition: nrnpy_hoc.cpp:2797
static PyObject * py_hocobj_uneg(PyObject *obj)
Definition: nrnpy_hoc.cpp:2898
static PyObject * py_hocobj_upos(PyObject *obj)
Definition: nrnpy_hoc.cpp:2902