Blame tests/run/r_forloop.pyx

Packit 562c7a
def go_py():
Packit 562c7a
    """
Packit 562c7a
    >>> go_py()
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    for i in range(4):
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_py_ret():
Packit 562c7a
    """
Packit 562c7a
    >>> go_py_ret()
Packit 562c7a
    2
Packit 562c7a
    """
Packit 562c7a
    for i in range(4):
Packit 562c7a
        if i > 1:
Packit 562c7a
            return i
Packit 562c7a
Packit 562c7a
def go_c():
Packit 562c7a
    """
Packit 562c7a
    >>> go_c()
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef int i
Packit 562c7a
    for i in range(4):
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_c_enumerate():
Packit 562c7a
    """
Packit 562c7a
    >>> go_c_enumerate()
Packit 562c7a
    True
Packit 562c7a
    True
Packit 562c7a
    True
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    cdef int i,k
Packit 562c7a
    for i,k in enumerate(range(4)):
Packit 562c7a
        print i == k
Packit 562c7a
Packit 562c7a
def go_c_int(int a, int b):
Packit 562c7a
    """
Packit 562c7a
    >>> go_c_int(1,5)
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef int i
Packit 562c7a
    for i in range(a,b,2):
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_c_all():
Packit 562c7a
    """
Packit 562c7a
    >>> go_c_all()
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef int i
Packit 562c7a
    for i in range(8,2,-2):
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_c_all_exprs(x):
Packit 562c7a
    """
Packit 562c7a
    >>> go_c_all_exprs(1)
Packit 562c7a
    Spam!
Packit 562c7a
    >>> go_c_all_exprs(3)
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef long i
Packit 562c7a
    for i in range(4*x,2*x,-3):
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_c_const_exprs():
Packit 562c7a
    """
Packit 562c7a
    >>> go_c_const_exprs()
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef int i
Packit 562c7a
    for i in range(4*2+1,2*2,-2-1):
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def f(x):
Packit 562c7a
    return 2*x
Packit 562c7a
Packit 562c7a
def go_c_calc(x):
Packit 562c7a
    """
Packit 562c7a
    >>> go_c_calc(2)
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef long i
Packit 562c7a
    for i in range(2*f(x),f(x), -2):
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_c_calc_ret(x):
Packit 562c7a
    """
Packit 562c7a
    >>> go_c_calc_ret(2)
Packit 562c7a
    6
Packit 562c7a
    """
Packit 562c7a
    cdef long i
Packit 562c7a
    for i in range(2*f(x),f(x), -2):
Packit 562c7a
        if i < 2*f(x):
Packit 562c7a
            return i
Packit 562c7a
Packit 562c7a
def go_c_ret():
Packit 562c7a
    """
Packit 562c7a
    >>> go_c_ret()
Packit 562c7a
    2
Packit 562c7a
    """
Packit 562c7a
    cdef int i
Packit 562c7a
    for i in range(4):
Packit 562c7a
        if i > 1:
Packit 562c7a
            return i
Packit 562c7a
Packit 562c7a
def go_list():
Packit 562c7a
    """
Packit 562c7a
    >>> go_list()
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef list l = list(range(4))
Packit 562c7a
    for i in l:
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_list_ret():
Packit 562c7a
    """
Packit 562c7a
    >>> go_list_ret()
Packit 562c7a
    2
Packit 562c7a
    """
Packit 562c7a
    cdef list l = list(range(4))
Packit 562c7a
    for i in l:
Packit 562c7a
        if i > 1:
Packit 562c7a
            return i
Packit 562c7a
Packit 562c7a
def go_tuple():
Packit 562c7a
    """
Packit 562c7a
    >>> go_tuple()
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef tuple t = tuple(range(4))
Packit 562c7a
    for i in t:
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_tuple_ret():
Packit 562c7a
    """
Packit 562c7a
    >>> go_tuple_ret()
Packit 562c7a
    2
Packit 562c7a
    """
Packit 562c7a
    cdef tuple t = tuple(range(4))
Packit 562c7a
    for i in t:
Packit 562c7a
        if i > 1:
Packit 562c7a
            return i
Packit 562c7a
Packit 562c7a
def go_dict():
Packit 562c7a
    """
Packit 562c7a
    >>> go_dict()
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    Spam!
Packit 562c7a
    """
Packit 562c7a
    cdef dict d = dict(zip(range(4), range(4)))
Packit 562c7a
    for i in d:
Packit 562c7a
        print u"Spam!"
Packit 562c7a
Packit 562c7a
def go_dict_ret():
Packit 562c7a
    """
Packit 562c7a
    >>> go_dict_ret()
Packit 562c7a
    2
Packit 562c7a
    >>> global_result
Packit 562c7a
    6
Packit 562c7a
    """
Packit 562c7a
    cdef dict d = dict(zip(range(4), range(4)))
Packit 562c7a
    for i in d:
Packit 562c7a
        if i > 1 and i < 3:
Packit 562c7a
            return i
Packit 562c7a
Packit 562c7a
# test global scope also
Packit 562c7a
global_result = None
Packit 562c7a
cdef int i
Packit 562c7a
for i in range(4*2+1,2*2,-2-1):
Packit 562c7a
    if i < 7:
Packit 562c7a
        global_result = i
Packit 562c7a
        break