Home | History | Annotate | Download | only in Objects

Lines Matching refs:step

8     long        step;

12 /* Return number of items in range (lo, hi, step). step != 0
16 get_len_of_range(long lo, long hi, long step)
19 If step > 0 and lo >= hi, or step < 0 and lo <= hi, the range is empty.
20 Else for step > 0, if n values are in the range, the last one is
21 lo + (n-1)*step, which must be <= hi-1. Rearranging,
22 n <= (hi - lo - 1)/step + 1, so taking the floor of the RHS gives
28 precision to compute the RHS exactly. The analysis for step < 0
31 assert(step != 0);
32 if (step > 0 && lo < hi)
33 return 1UL + (hi - 1UL - lo) / step;
34 else if (step < 0 && lo > hi)
35 return 1UL + (lo - 1UL - hi) / (0UL - step);
78 obj->step = istep;
83 "xrange([start,] stop[, step]) -> xrange object\n\
99 return PyInt_FromLong((long)(r->start + (unsigned long)i * r->step));
113 if (r->start == 0 && r->step == 1)
115 r->start + r->len * r->step);
117 else if (r->step == 1)
120 r->start + r->len * r->step);
125 r->start + r->len * r->step,
126 r->step);
136 r->start + r->len * r->step,
137 r->step);
208 long step;
216 return PyInt_FromLong(r->start + (r->index++) * r->step);
281 it->step = ((rangeobject *)seq)->step;
290 long start, step, len;
301 step = ((rangeobject *)seq)->step;
313 If step == LONG_MIN then we still end up with LONG_MIN
318 it->start = (long)(start + (unsigned long)(len-1) * step);
319 it->step = (long)(0UL-step);