• Home
  • Raw
  • Download

Lines Matching refs:step

20     PyObject *step;  member
30 validate_step(PyObject *step) in validate_step() argument
33 if (!step) in validate_step()
36 step = PyNumber_Index(step); in validate_step()
37 if (step && _PyLong_Sign(step) == 0) { in validate_step()
40 Py_CLEAR(step); in validate_step()
43 return step; in validate_step()
47 compute_range_length(PyObject *start, PyObject *stop, PyObject *step);
51 PyObject *stop, PyObject *step) in make_range_object() argument
55 length = compute_range_length(start, stop, step); in make_range_object()
66 obj->step = step; in make_range_object()
80 PyObject *start = NULL, *stop = NULL, *step = NULL; in range_from_array() local
84 step = args[2]; in range_from_array()
97 step = validate_step(step); /* Caution, this can clear exceptions */ in range_from_array()
98 if (!step) { in range_from_array()
111 step = _PyLong_GetOne(); in range_from_array()
112 Py_INCREF(step); in range_from_array()
124 obj = make_range_object(type, start, stop, step); in range_from_array()
132 Py_DECREF(step); in range_from_array()
172 Py_DECREF(r->step); in range_dealloc()
182 compute_range_length(PyObject *start, PyObject *stop, PyObject *step) in compute_range_length() argument
197 cmp_result = PyObject_RichCompareBool(step, zero, Py_GT); in compute_range_length()
204 Py_INCREF(step); in compute_range_length()
208 step = PyNumber_Negative(step); in compute_range_length()
209 if (!step) in compute_range_length()
216 Py_DECREF(step); in compute_range_length()
230 if ((tmp2 = PyNumber_FloorDivide(diff, step)) == NULL) in compute_range_length()
238 Py_DECREF(step); in compute_range_length()
243 Py_DECREF(step); in compute_range_length()
263 if (r->step == _PyLong_GetOne()) { in compute_item()
267 incr = PyNumber_Multiply(i, r->step); in compute_item()
347 PyObject *start = NULL, *stop = NULL, *step = NULL; in compute_slice() local
351 error = _PySlice_GetLongIndices(slice, r->length, &start, &stop, &step); in compute_slice()
355 substep = PyNumber_Multiply(r->step, step); in compute_slice()
357 Py_CLEAR(step); in compute_slice()
374 Py_XDECREF(step); in compute_slice()
393 cmp1 = PyObject_RichCompareBool(r->step, zero, Py_GT); in range_contains_long()
416 tmp2 = PyNumber_Remainder(tmp1, r->step); in range_contains_long()
475 return PyObject_RichCompareBool(r0->step, r1->step, Py_EQ); in range_equals()
548 Py_INCREF(r->step); in range_hash()
549 PyTuple_SET_ITEM(t, 2, r->step); in range_hash()
598 if (r->step == _PyLong_GetOne()) { in range_index()
603 PyObject *sidx = PyNumber_FloorDivide(idx, r->step); in range_index()
631 istep = PyNumber_AsSsize_t(r->step, NULL); in range_repr()
641 r->start, r->stop, r->step); in range_repr()
649 r->start, r->stop, r->step); in range_reduce()
714 {"step", T_OBJECT_EX, offsetof(rangeobject, step), READONLY},
771 long step; member
782 (unsigned long)(r->index++) * r->step)); in rangeiter_next()
798 PyObject *start=NULL, *stop=NULL, *step=NULL; in rangeiter_reduce() local
805 stop = PyLong_FromLong(r->start + r->len * r->step); in rangeiter_reduce()
808 step = PyLong_FromLong(r->step); in rangeiter_reduce()
809 if (step == NULL) in rangeiter_reduce()
812 start, stop, step); in rangeiter_reduce()
821 Py_XDECREF(step); in rangeiter_reduce()
890 get_len_of_range(long lo, long hi, long step) in get_len_of_range() argument
905 assert(step != 0); in get_len_of_range()
906 if (step > 0 && lo < hi) in get_len_of_range()
907 return 1UL + (hi - 1UL - lo) / step; in get_len_of_range()
908 else if (step < 0 && lo > hi) in get_len_of_range()
909 return 1UL + (lo - 1UL - hi) / (0UL - step); in get_len_of_range()
918 fast_range_iter(long start, long stop, long step, long len) in fast_range_iter() argument
924 it->step = step; in fast_range_iter()
934 PyObject *step; member
951 product = PyNumber_Multiply(r->len, r->step); in longrangeiter_reduce()
959 Py_INCREF(r->step); in longrangeiter_reduce()
961 r->start, stop, r->step); in longrangeiter_reduce()
965 Py_DECREF(r->step); in longrangeiter_reduce()
1014 Py_XDECREF(r->step); in longrangeiter_dealloc()
1030 product = PyNumber_Multiply(r->index, r->step); in longrangeiter_next()
1103 lstep = PyLong_AsLong(r->step); in range_iter()
1131 it->step = r->step; in range_iter()
1135 Py_INCREF(it->step); in range_iter()
1172 lstep = PyLong_AsLong(range->step); in range_reverse()
1215 it->index = it->start = it->step = NULL; in range_reverse()
1225 product = PyNumber_Multiply(diff, range->step); in range_reverse()
1236 it->step = PyNumber_Negative(range->step); in range_reverse()
1237 if (!it->step) in range_reverse()