# ticket: 203 cdef int get_bound(int m): print u"get_bound(%s)"%m return m def for_from_range(a, b): """ >>> for_from_range(5, 10) range(5) at 0 at 1 at 2 at 3 at 4 range(5, 10) at 5 at 6 at 7 at 8 at 9 range(5, 10, 2) at 5 at 7 at 9 9 >>> for_from_range(-5, -10) range(-5) range(-5, -10) range(-5, -10, 2) 100 """ cdef int i = 100 print u"range(%s)" % a for i in range(a): print u"at", i print u"range(%s, %s)" % (a, b) for i in range(a, b): print u"at", i print u"range(%s, %s, %s)" % (a, b, 2) for i in range(a, b, 2): print u"at", i return i def for_from_bound_reassignment(int bound, int fake_bound): """ >>> for_from_bound_reassignment(5, 1) at 0 at 1 at 2 at 3 at 4 5 """ cdef int i = 100 for i from 0 <= i < bound: print u"at", i bound = fake_bound return i def for_from_step_reassignment(int bound, int step, int fake_step): """ >>> for_from_step_reassignment(15, 5, 2) at 0 at 5 at 10 15 """ cdef int i = 100 for i from 0 <= i < bound by step: print u"at", i step = fake_step return i def for_from_target_reassignment(int bound, int factor): """ >>> for_from_target_reassignment(10, 2) at 0 at 1 at 3 at 7 15 """ cdef int i = 100 for i from 0 <= i < bound: print u"at", i i *= factor return i def for_from_py_target_reassignment(int bound, int factor): """ >>> for_from_py_target_reassignment(10, 2) at 0 at 1 at 3 at 7 15 """ cdef object i for i from 0 <= i < bound: print u"at", i i *= factor return i def for_from_py_global_target_reassignment(int bound, int factor): """ >>> for_from_py_global_target_reassignment(10, 2) at 0 at 1 at 3 at 7 15 """ global g_var for g_var from 0 <= g_var < bound: print u"at", g_var g_var *= factor return g_var def for_in_target_reassignment(int bound, int factor): """ >>> for_in_target_reassignment(10, 2) at 0 at 1 at 2 at 3 at 4 at 5 at 6 at 7 at 8 at 9 18 """ cdef int i = 100 for i in range(bound): print u"at", i i *= factor return i def test_func(int n): """ >>> test_func(5) get_bound(5) at 0 at 1 at 2 at 3 at 4 5 """ cdef int i = 100 for i from 0 <= i < get_bound(n): print u"at", i return i