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},
47 {Py_tp_doc, (
void*)
"Iterate over nonzero area Segments of a Section (does not include x=0 and 1)"},
54 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
70 {Py_tp_doc, (
void*)
"Segment objects"},
77 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
83 {Py_tp_iter, (
void*)PyObject_SelfIter},
85 {Py_tp_doc, (
void*)
"Iterate over Mechanisms in a Segment of a Section"},
92 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
106 {Py_tp_doc, (
void*)
"Mechanism objects"},
113 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
119 {Py_tp_iter, (
void*)PyObject_SelfIter},
121 {Py_tp_doc, (
void*)
"Iterate over variables in a Mechanism"},
128 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
137 {Py_tp_doc, (
void*)
"Range Variable Array objects"},
138 {Py_sq_length, (
void*)
rv_len},
147 Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE,
151 static struct PyModuleDef
nrnmodule = {PyModuleDef_HEAD_INIT,
"nrn",
152 "NEURON interaction with Python", -1,
160 PyModuleDef_HEAD_INIT,
161 "_neuron_section",
"NEURON interaction with Python",
static int NPyRangeVar_init(NPyRangeVar *self, PyObject *args, PyObject *kwds)
static int section_setattro(NPySecObj *self, PyObject *pyname, PyObject *value)
static PyObject * pymech_repr(PyObject *p)
static PyObject * mech_of_seg_next(NPyMechOfSegIter *self)
static int NPySegObj_init(NPySegObj *self, PyObject *args, PyObject *kwds)
static int mech_setattro(NPyMechObj *self, PyObject *pyname, PyObject *value)
static PyMemberDef NPyMechObj_members[]
static PyObject * seg_of_section_iter(NPySecObj *self)
static int rv_setitem(PyObject *self, Py_ssize_t ix, PyObject *value)
static PyObject * segment_getattro(NPySegObj *self, PyObject *pyname)
static PyObject * var_of_mech_next(NPyVarOfMechIter *self)
static PyMemberDef NPySegObj_members[]
static PyType_Spec nrnpy_SegmentType_spec
static void NPyMechObj_dealloc(NPyMechObj *self)
static PyObject * mech_of_segment_iter(NPySegObj *self)
static int NPyAllSegOfSecIter_init(NPyAllSegOfSecIter *self, PyObject *args, PyObject *kwds)
static PyType_Slot nrnpy_SegmentType_slots[]
static PyType_Spec nrnpy_SegOfSecIterType_spec
static PyType_Slot nrnpy_SegOfSecIterType_slots[]
static struct PyModuleDef nrnsectionmodule
static PyObject * pysec_richcmp(NPySecObj *self, PyObject *other, int op)
static void NPyVarOfMechIter_dealloc(NPyVarOfMechIter *self)
static long pyseg_hash(PyObject *self)
static PyObject * var_of_mech_iter(NPyMechObj *self)
static PyMethodDef NPyRangeVar_methods[]
static int NPySecObj_contains(PyObject *sec, PyObject *obj)
static struct PyModuleDef nrnmodule
static void NPySegObj_dealloc(NPySegObj *self)
static PyType_Slot nrnpy_SectionType_slots[]
static PyObject * rv_getitem(PyObject *self, Py_ssize_t ix)
static int segment_setattro(NPySegObj *self, PyObject *pyname, PyObject *value)
static void NPyAllSegOfSecIter_dealloc(NPyAllSegOfSecIter *self)
static PyType_Slot nrnpy_MechOfSegIterType_slots[]
static PyType_Slot nrnpy_RangeType_slots[]
static PyType_Slot nrnpy_MechanismType_slots[]
static PyType_Spec nrnpy_MechOfSegIterType_spec
static PyObject * pysec_repr(PyObject *p)
static PyObject * NPyMechObj_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static PyMethodDef NPyMechObj_methods[]
static PyMethodDef NPySegObj_methods[]
static PyMethodDef nrnpy_methods[]
static PyType_Slot nrnpy_AllSegOfSecIterType_slots[]
static PyType_Spec nrnpy_RangeType_spec
static int NPySecObj_init(NPySecObj *self, PyObject *args, PyObject *kwds)
static PyObject * NPySegObj_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static PyObject * seg_of_sec_next(NPySegOfSecIter *self)
static void NPyRangeVar_dealloc(NPyRangeVar *self)
static PyObject * pyseg_repr(PyObject *p)
static PyObject * section_getattro(NPySecObj *self, PyObject *pyname)
static PyMethodDef NPySecObj_methods[]
static PyObject * allseg_of_sec_iter(NPyAllSegOfSecIter *self)
static PyType_Slot nrnpy_VarOfMechIterType_slots[]
static PyType_Spec nrnpy_MechanismType_spec
static PyType_Spec nrnpy_VarOfMechIterType_spec
PyObject * NPySecObj_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static void NPyMechOfSegIter_dealloc(NPyMechOfSegIter *self)
PyObject * NPyAllSegOfSecIter_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static long pysec_hash(PyObject *self)
static PyObject * NPySecObj_call(NPySecObj *self, PyObject *args)
static int NPyMechObj_init(NPyMechObj *self, PyObject *args, PyObject *kwds)
static PyObject * allseg_of_sec_next(NPyAllSegOfSecIter *self)
static PyObject * mech_getattro(NPyMechObj *self, PyObject *pyname)
static PyType_Spec nrnpy_AllSegOfSecIterType_spec
static Py_ssize_t rv_len(PyObject *self)
static PyType_Spec nrnpy_SectionType_spec
static PyObject * NPyRangeVar_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
static void NPySecObj_dealloc(NPySecObj *self)
static PyObject * pyseg_richcmp(NPySegObj *self, PyObject *other, int op)
static void NPySegOfSecIter_dealloc(NPySegOfSecIter *self)