13 {Py_tp_doc, (
void*)
"Section objects"},
21 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
32 {Py_tp_doc, (
void*)
"Iterate over all Segments of a Section, including x=0 and 1"},
39 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
45 {Py_tp_iter, (
void*) PyObject_SelfIter},
48 (
void*)
"Iterate over nonzero area Segments of a Section (does not include x=0 and 1)"},
55 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
71 {Py_tp_doc, (
void*)
"Segment objects"},
78 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
84 {Py_tp_iter, (
void*) PyObject_SelfIter},
86 {Py_tp_doc, (
void*)
"Iterate over Mechanisms in a Segment of a Section"},
93 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
107 {Py_tp_doc, (
void*)
"Mechanism objects"},
114 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
120 {Py_tp_iter, (
void*) PyObject_SelfIter},
122 {Py_tp_doc, (
void*)
"Iterate over variables in a Mechanism"},
129 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
138 {Py_tp_doc, (
void*)
"Range Variable Array objects"},
139 {Py_sq_length, (
void*)
rv_len},
148 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
152 static struct PyModuleDef
nrnmodule = {PyModuleDef_HEAD_INIT,
154 "NEURON interaction with Python",
168 "NEURON interaction with Python",
static PyObject * pysec_richcmp(NPySecObj *self, PyObject *other, int op)
static PyObject * var_of_mech_next(NPyVarOfMechIter *self)
static PyObject * seg_of_section_iter(NPySecObj *self)
static void NPySecObj_dealloc(NPySecObj *self)
static PyMethodDef NPySegObj_methods[]
static PyObject * mech_of_segment_iter(NPySegObj *self)
static PyObject * section_getattro(NPySecObj *self, PyObject *pyname)
static PyObject * pyseg_repr(PyObject *p)
static int NPySegObj_init(NPySegObj *self, PyObject *args, PyObject *kwds)
static Py_ssize_t rv_len(PyObject *self)
static int NPyAllSegOfSecIter_init(NPyAllSegOfSecIter *self, PyObject *args, PyObject *kwds)
static int NPyMechObj_init(NPyMechObj *self, PyObject *args, PyObject *kwds)
static int section_setattro(NPySecObj *self, PyObject *pyname, PyObject *value)
static int segment_setattro(NPySegObj *self, PyObject *pyname, PyObject *value)
static PyObject * pysec_repr(PyObject *p)
static PyObject * rv_getitem(PyObject *self, Py_ssize_t ix)
static PyMemberDef NPyMechObj_members[]
static PyMethodDef NPyMechObj_methods[]
static void NPySegObj_dealloc(NPySegObj *self)
static PyObject * pyseg_richcmp(NPySegObj *self, PyObject *other, int op)
static PyObject * segment_getattro(NPySegObj *self, PyObject *pyname)
static PyObject * NPySecObj_call(NPySecObj *self, PyObject *args)
static void NPySegOfSecIter_dealloc(NPySegOfSecIter *self)
static PyObject * pymech_repr(PyObject *p)
static PyMethodDef NPySecObj_methods[]
PyObject * NPyAllSegOfSecIter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static void NPyAllSegOfSecIter_dealloc(NPyAllSegOfSecIter *self)
static PyMemberDef NPySegObj_members[]
static PyObject * NPySegObj_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static PyObject * seg_of_sec_next(NPySegOfSecIter *self)
static void NPyMechOfSegIter_dealloc(NPyMechOfSegIter *self)
static void NPyRangeVar_dealloc(NPyRangeVar *self)
static int mech_setattro(NPyMechObj *self, PyObject *pyname, PyObject *value)
static void NPyMechObj_dealloc(NPyMechObj *self)
static void NPyVarOfMechIter_dealloc(NPyVarOfMechIter *self)
static long pysec_hash(PyObject *self)
static int NPyRangeVar_init(NPyRangeVar *self, PyObject *args, PyObject *kwds)
static int rv_setitem(PyObject *self, Py_ssize_t ix, PyObject *value)
static PyMethodDef nrnpy_methods[]
static PyObject * mech_getattro(NPyMechObj *self, PyObject *pyname)
static int NPySecObj_init(NPySecObj *self, PyObject *args, PyObject *kwds)
static PyObject * mech_of_seg_next(NPyMechOfSegIter *self)
static PyObject * allseg_of_sec_iter(NPyAllSegOfSecIter *self)
static int NPySecObj_contains(PyObject *sec, PyObject *obj)
static PyObject * var_of_mech_iter(NPyMechObj *self)
static long pyseg_hash(PyObject *self)
static PyObject * NPyMechObj_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
PyObject * NPySecObj_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static PyMethodDef NPyRangeVar_methods[]
static PyObject * NPyRangeVar_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static PyObject * allseg_of_sec_next(NPyAllSegOfSecIter *self)
static PyType_Spec nrnpy_MechOfSegIterType_spec
static PyType_Slot nrnpy_MechOfSegIterType_slots[]
static PyType_Slot nrnpy_SegmentType_slots[]
static PyType_Spec nrnpy_VarOfMechIterType_spec
static PyType_Spec nrnpy_AllSegOfSecIterType_spec
static PyType_Spec nrnpy_SectionType_spec
static PyType_Spec nrnpy_SegOfSecIterType_spec
static PyType_Slot nrnpy_SegOfSecIterType_slots[]
static struct PyModuleDef nrnsectionmodule
static PyType_Slot nrnpy_MechanismType_slots[]
static PyType_Spec nrnpy_MechanismType_spec
static PyType_Spec nrnpy_RangeType_spec
static PyType_Slot nrnpy_AllSegOfSecIterType_slots[]
static struct PyModuleDef nrnmodule
static PyType_Slot nrnpy_RangeType_slots[]
static PyType_Slot nrnpy_VarOfMechIterType_slots[]
static PyType_Slot nrnpy_SectionType_slots[]
static PyType_Spec nrnpy_SegmentType_spec