Blame tests/run/bint_binop_T145.pyx

Packit 562c7a
# ticket: 145
Packit 562c7a
Packit 562c7a
cimport cython
Packit 562c7a
Packit 562c7a
@cython.test_fail_if_path_exists('//BoolBinopNode')
Packit 562c7a
def or_literal_bint():
Packit 562c7a
    """
Packit 562c7a
    >>> True or 5
Packit 562c7a
    True
Packit 562c7a
    >>> or_literal_bint()
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    return True or 5
Packit 562c7a
Packit 562c7a
@cython.test_fail_if_path_exists('//BoolBinopNode')
Packit 562c7a
def and_literal_bint():
Packit 562c7a
    """
Packit 562c7a
    >>> 5 and True
Packit 562c7a
    True
Packit 562c7a
    >>> and_literal_bint()
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    return 5 and True
Packit 562c7a
Packit 562c7a
@cython.test_fail_if_path_exists('//BoolBinopNode')
Packit 562c7a
def False_and_True_or_0():
Packit 562c7a
    """
Packit 562c7a
    >>> False and True or 0
Packit 562c7a
    0
Packit 562c7a
    >>> False_and_True_or_0()
Packit 562c7a
    0
Packit 562c7a
    """
Packit 562c7a
    return False and True or 0
Packit 562c7a
Packit 562c7a
@cython.test_fail_if_path_exists('//BoolBinopNode')
Packit 562c7a
def True_and_True_or_0():
Packit 562c7a
    """
Packit 562c7a
    >>> True and True or 0
Packit 562c7a
    True
Packit 562c7a
    >>> True_and_True_or_0()
Packit 562c7a
    True
Packit 562c7a
    """
Packit 562c7a
    return True and True or 0
Packit 562c7a
Packit 562c7a
def x_and_True_or_False(x):
Packit 562c7a
    """
Packit 562c7a
    >>> x_and_True_or_False(0)
Packit 562c7a
    False
Packit 562c7a
    >>> x_and_True_or_False(1)
Packit 562c7a
    True
Packit 562c7a
    >>> x_and_True_or_False('abc')
Packit 562c7a
    True
Packit 562c7a
    >>> x_and_True_or_False([])
Packit 562c7a
    False
Packit 562c7a
    """
Packit 562c7a
    return x and True or False
Packit 562c7a
Packit 562c7a
def x_and_True_or_0(x):
Packit 562c7a
    """
Packit 562c7a
    >>> 0 and True or 0
Packit 562c7a
    0
Packit 562c7a
    >>> x_and_True_or_0(0)
Packit 562c7a
    0
Packit 562c7a
Packit 562c7a
    >>> 1 and True or 0
Packit 562c7a
    True
Packit 562c7a
    >>> x_and_True_or_0(1)
Packit 562c7a
    True
Packit 562c7a
Packit 562c7a
    >>> x_and_True_or_0('abc')
Packit 562c7a
    True
Packit 562c7a
    >>> x_and_True_or_0([])
Packit 562c7a
    0
Packit 562c7a
    """
Packit 562c7a
    return x and True or 0
Packit 562c7a
Packit 562c7a
def x_and_True_or_1(x):
Packit 562c7a
    """
Packit 562c7a
    >>> 0 and True or 1
Packit 562c7a
    1
Packit 562c7a
    >>> x_and_True_or_1(0)
Packit 562c7a
    1
Packit 562c7a
Packit 562c7a
    >>> 1 and True or 1
Packit 562c7a
    True
Packit 562c7a
    >>> x_and_True_or_1(1)
Packit 562c7a
    True
Packit 562c7a
Packit 562c7a
    >>> x_and_True_or_1('abc')
Packit 562c7a
    True
Packit 562c7a
    >>> x_and_True_or_1([])
Packit 562c7a
    1
Packit 562c7a
    """
Packit 562c7a
    return x and True or 1
Packit 562c7a
Packit 562c7a
def x_and_1_or_False(x):
Packit 562c7a
    """
Packit 562c7a
    >>> 0 and 1 or False
Packit 562c7a
    False
Packit 562c7a
    >>> x_and_1_or_False(0)
Packit 562c7a
    False
Packit 562c7a
Packit 562c7a
    >>> 1 and 1 or False
Packit 562c7a
    1
Packit 562c7a
    >>> x_and_1_or_False(1)
Packit 562c7a
    1
Packit 562c7a
Packit 562c7a
    >>> x_and_1_or_False('abc')
Packit 562c7a
    1
Packit 562c7a
    >>> x_and_1_or_False([])
Packit 562c7a
    False
Packit 562c7a
    """
Packit 562c7a
    return x and 1 or False
Packit 562c7a
Packit 562c7a
def test_large_int(unsigned long x):
Packit 562c7a
    """
Packit 562c7a
    >>> try: test_large_int(1 << 127)
Packit 562c7a
    ... except OverflowError: print(True)
Packit 562c7a
    True
Packit 562c7a
    >>> try: test_large_int(1 << 63)
Packit 562c7a
    ... except OverflowError: print(True)
Packit 562c7a
    True
Packit 562c7a
    >>> try: test_large_int(1 << 48)
Packit 562c7a
    ... except OverflowError: print(True)
Packit 562c7a
    True
Packit 562c7a
    >>> try: test_large_int(1 << 31)
Packit 562c7a
    ... except OverflowError: print(True)
Packit 562c7a
    True
Packit 562c7a
    >>> test_large_int(0)
Packit 562c7a
    False
Packit 562c7a
    """
Packit 562c7a
    if True and x:
Packit 562c7a
        return True
Packit 562c7a
    else:
Packit 562c7a
        return False