Lines Matching refs:en

47     enumobject *en;
49 en = (enumobject *)type->tp_alloc(type, 0);
50 if (en == NULL)
55 Py_DECREF(en);
59 en->en_index = PyLong_AsSsize_t(start);
60 if (en->en_index == -1 && PyErr_Occurred()) {
62 en->en_index = PY_SSIZE_T_MAX;
63 en->en_longindex = start;
65 en->en_longindex = NULL;
69 en->en_index = 0;
70 en->en_longindex = NULL;
72 en->en_sit = PyObject_GetIter(iterable);
73 if (en->en_sit == NULL) {
74 Py_DECREF(en);
77 en->en_result = PyTuple_Pack(2, Py_None, Py_None);
78 if (en->en_result == NULL) {
79 Py_DECREF(en);
82 en->one = _PyLong_GetOne(); /* borrowed reference */
83 return (PyObject *)en;
152 enum_dealloc(enumobject *en)
154 PyObject_GC_UnTrack(en);
155 Py_XDECREF(en->en_sit);
156 Py_XDECREF(en->en_result);
157 Py_XDECREF(en->en_longindex);
158 Py_TYPE(en)->tp_free(en);
162 enum_traverse(enumobject *en, visitproc visit, void *arg)
164 Py_VISIT(en->en_sit);
165 Py_VISIT(en->en_result);
166 Py_VISIT(en->en_longindex);
171 enum_next_long(enumobject *en, PyObject* next_item)
173 PyObject *result = en->en_result;
179 if (en->en_longindex == NULL) {
180 en->en_longindex = PyLong_FromSsize_t(PY_SSIZE_T_MAX);
181 if (en->en_longindex == NULL) {
186 next_index = en->en_longindex;
188 stepped_up = PyNumber_Add(next_index, en->one);
193 en->en_longindex = stepped_up;
222 enum_next(enumobject *en)
226 PyObject *result = en->en_result;
227 PyObject *it = en->en_sit;
235 if (en->en_index == PY_SSIZE_T_MAX)
236 return enum_next_long(en, next_item);
238 next_index = PyLong_FromSsize_t(en->en_index);
243 en->en_index++;
272 enum_reduce(enumobject *en, PyObject *Py_UNUSED(ignored))
274 if (en->en_longindex != NULL)
275 return Py_BuildValue("O(OO)", Py_TYPE(en), en->en_sit, en->en_longindex);
277 return Py_BuildValue("O(On)", Py_TYPE(en), en->en_sit, en->en_index);