|
Packit Service |
99d393 |
# coding=utf8
|
|
Packit Service |
99d393 |
# mode: run
|
|
Packit Service |
99d393 |
# tag: constant_folding
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
import cython
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//UnaryMinusNode",
|
|
Packit Service |
99d393 |
"//UnaryPlusNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def unop_floats():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> unop_floats()
|
|
Packit Service |
99d393 |
(False, 2.0, -2.0, False, 2.0, -2.0, -2.0)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
not1 = not 2.0
|
|
Packit Service |
99d393 |
plus1 = + 2.0
|
|
Packit Service |
99d393 |
minus1 = - 2.0
|
|
Packit Service |
99d393 |
not3 = not not not 2.0
|
|
Packit Service |
99d393 |
plus3 = +++ 2.0
|
|
Packit Service |
99d393 |
minus3 = --- 2.0
|
|
Packit Service |
99d393 |
mix = +-++-- 2.0
|
|
Packit Service |
99d393 |
return not1, plus1, minus1, not3, plus3, minus3, mix
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//UnaryMinusNode",
|
|
Packit Service |
99d393 |
"//UnaryPlusNode",
|
|
Packit Service |
99d393 |
"//CoerceToPyTypeNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def unop_py_floats_tuple():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> unop_floats()
|
|
Packit Service |
99d393 |
(False, 2.0, -2.0, False, 2.0, -2.0, -2.0)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return (
|
|
Packit Service |
99d393 |
not 2.0,
|
|
Packit Service |
99d393 |
+ 2.0,
|
|
Packit Service |
99d393 |
- 2.0,
|
|
Packit Service |
99d393 |
not not not 2.0,
|
|
Packit Service |
99d393 |
+++ 2.0,
|
|
Packit Service |
99d393 |
--- 2.0,
|
|
Packit Service |
99d393 |
+-++-- 2.0)
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//UnaryMinusNode",
|
|
Packit Service |
99d393 |
"//UnaryPlusNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def unop_ints():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> unop_ints()
|
|
Packit Service |
99d393 |
(False, 2, -2, False, 2, -2, -2)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
not1 = not 2
|
|
Packit Service |
99d393 |
plus1 = + 2
|
|
Packit Service |
99d393 |
minus1 = - 2
|
|
Packit Service |
99d393 |
not3 = not not not 2
|
|
Packit Service |
99d393 |
plus3 = +++ 2
|
|
Packit Service |
99d393 |
minus3 = --- 2
|
|
Packit Service |
99d393 |
mix = +-++-- 2
|
|
Packit Service |
99d393 |
return not1, plus1, minus1, not3, plus3, minus3, mix
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//UnaryMinusNode",
|
|
Packit Service |
99d393 |
"//UnaryPlusNode",
|
|
Packit Service |
99d393 |
"//NotNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def unop_bool():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> unop_bool()
|
|
Packit Service |
99d393 |
(False, 1, -1, False, 1, -1, -1)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
not1 = not True
|
|
Packit Service |
99d393 |
plus1 = + True
|
|
Packit Service |
99d393 |
minus1 = - True
|
|
Packit Service |
99d393 |
not3 = not not not True
|
|
Packit Service |
99d393 |
plus3 = +++ True
|
|
Packit Service |
99d393 |
minus3 = --- True
|
|
Packit Service |
99d393 |
mix = +-++-- True
|
|
Packit Service |
99d393 |
return not1, plus1, minus1, not3, plus3, minus3, mix
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//AddNode",
|
|
Packit Service |
99d393 |
"//SubNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def binop_bool():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> binop_bool()
|
|
Packit Service |
99d393 |
(2, 1, 0, True, True, 1, False, 2, 2, -2, False, True, 1, False)
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
plus1 = True + True
|
|
Packit Service |
99d393 |
pmix1 = True + 0
|
|
Packit Service |
99d393 |
minus1 = True - True
|
|
Packit Service |
99d393 |
and1 = True & True
|
|
Packit Service |
99d393 |
or1 = True | True
|
|
Packit Service |
99d393 |
ormix1 = True | 0
|
|
Packit Service |
99d393 |
xor1 = True ^ True
|
|
Packit Service |
99d393 |
plus3 = False + True + False + True
|
|
Packit Service |
99d393 |
pmix3 = False + True + 0 + True
|
|
Packit Service |
99d393 |
minus3 = False - True - False - True
|
|
Packit Service |
99d393 |
and3 = False & True & False & True
|
|
Packit Service |
99d393 |
or3 = False | True | False | True
|
|
Packit Service |
99d393 |
ormix3 = False | 0 | False | True
|
|
Packit Service |
99d393 |
xor3 = False ^ True ^ False ^ True
|
|
Packit Service |
99d393 |
return plus1, pmix1, minus1, and1, or1, ormix1, xor1, plus3, pmix3, minus3, and3, or3, ormix3, xor3
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//SliceIndexNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def slicing2():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> slicing2()
|
|
Packit Service |
99d393 |
([1, 2, 3, 4], [3, 4], [1, 2, 3, 4], [3, 4], (1, 2, 3, 4), (3, 4), (1, 2, 3, 4), (3, 4))
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
lst0 = [1, 2, 3, 4][:]
|
|
Packit Service |
99d393 |
lst1 = [1, 2, 3, 4][2:]
|
|
Packit Service |
99d393 |
lst2 = [1, 2, 3, 4][:4]
|
|
Packit Service |
99d393 |
lst3 = [1, 2, 3, 4][2:4]
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
tpl0 = (1, 2, 3, 4)[:]
|
|
Packit Service |
99d393 |
tpl1 = (1, 2, 3, 4)[2:]
|
|
Packit Service |
99d393 |
tpl2 = (1, 2, 3, 4)[:4]
|
|
Packit Service |
99d393 |
tpl3 = (1, 2, 3, 4)[2:4]
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
return lst0, lst1, lst2, lst3, tpl0, tpl1, tpl2, tpl3
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//SliceIndexNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def str_slicing2():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> a,b,c,d = str_slicing2()
|
|
Packit Service |
99d393 |
>>> a == 'abc\\xE9def'[:]
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
>>> b == 'abc\\xE9def'[2:]
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
>>> c == 'abc\\xE9def'[:4]
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
>>> d == 'abc\\xE9def'[2:4]
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
str0 = 'abc\xE9def'[:]
|
|
Packit Service |
99d393 |
str1 = 'abc\xE9def'[2:]
|
|
Packit Service |
99d393 |
str2 = 'abc\xE9def'[:4]
|
|
Packit Service |
99d393 |
str3 = 'abc\xE9def'[2:4]
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
return str0, str1, str2, str3
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//IfStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def str_in_and_not_in():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> str_in_and_not_in()
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
if 'a' in 'abc' and 'b' in 'abc' and 'c' in 'abc' and 'd' not in 'abc': return True
|
|
Packit Service |
99d393 |
else: return False
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//WhileStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def while_false():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> while_false()
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
while 1 == 0:
|
|
Packit Service |
99d393 |
return False
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//WhileStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def while_false_else():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> while_false_else()
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
while 1 == 0:
|
|
Packit Service |
99d393 |
return False
|
|
Packit Service |
99d393 |
else:
|
|
Packit Service |
99d393 |
return True
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//WhileStatNode//PrintStatNode",
|
|
Packit Service |
99d393 |
"//WhileStatNode//PrimaryCmpNode",
|
|
Packit Service |
99d393 |
"//WhileStatNode/BoolNode",
|
|
Packit Service |
99d393 |
"//WhileStatNode/IntNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
"//WhileStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def while_true():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> while_true()
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
while 1 == 1:
|
|
Packit Service |
99d393 |
return True
|
|
Packit Service |
99d393 |
else:
|
|
Packit Service |
99d393 |
print("FAIL")
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//ForInStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def for_in_empty():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> for_in_empty()
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
for i in []:
|
|
Packit Service |
99d393 |
print("LOOP")
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//ForInStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def for_in_empty_else():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> for_in_empty_else()
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
for i in []:
|
|
Packit Service |
99d393 |
print("LOOP")
|
|
Packit Service |
99d393 |
else:
|
|
Packit Service |
99d393 |
return True
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//ComprehensionNode",
|
|
Packit Service |
99d393 |
"//ForInStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
"//ListNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def for_in_empty_listcomp():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> for_in_empty_listcomp()
|
|
Packit Service |
99d393 |
[]
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return [i for i in []]
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//ComprehensionNode",
|
|
Packit Service |
99d393 |
"//ForInStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
"//ListNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def for_in_empty_nested_listcomp():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> for_in_empty_nested_listcomp()
|
|
Packit Service |
99d393 |
[]
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return [x for _ in [] for x in [1, 2, 3]]
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//ForInStatNode//ForInStatNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
"//ForInStatNode",
|
|
Packit Service |
99d393 |
"//ComprehensionNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def for_in_nested_listcomp():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> for_in_nested_listcomp()
|
|
Packit Service |
99d393 |
[]
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return [x for x in [1, 2, 3] for _ in []]
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//MulNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def mult_empty_list():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> mult_empty_list()
|
|
Packit Service |
99d393 |
[]
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return 5 * [] * 100
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//MulNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def mult_list_int_int():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> mult_list_int_int()
|
|
Packit Service |
99d393 |
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return [1, 2] * 2 * 3
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//MulNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def mult_int_list_int():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> mult_int_list_int()
|
|
Packit Service |
99d393 |
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return 3 * [1, 2] * 2
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//MulNode",
|
|
Packit Service |
99d393 |
"//ListNode//IntNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def neg_mult_list():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> neg_mult_list()
|
|
Packit Service |
99d393 |
[]
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return -5 * [1, 2] * -100
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//MulNode",
|
|
Packit Service |
99d393 |
"//ListNode//IntNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def zero_mult_list():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> zero_mult_list()
|
|
Packit Service |
99d393 |
[]
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return 0 * [1, 2] * 0
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
"//BoolNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//PrimaryCmpNode",
|
|
Packit Service |
99d393 |
"//MulNode",
|
|
Packit Service |
99d393 |
"//ListNode//IntNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def in_mult_list():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> in_mult_list()
|
|
Packit Service |
99d393 |
False
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return 5 in 100 * [1, 2] * 0
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
"//BoolNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//PrimaryCmpNode",
|
|
Packit Service |
99d393 |
"//MulNode",
|
|
Packit Service |
99d393 |
"//ListNode//IntNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def not_in_mult_list():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> not_in_mult_list()
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return 5 not in 100 * [1, 2] * 0
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
"//BoolNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
"//PrimaryCmpNode",
|
|
Packit Service |
99d393 |
"//MulNode",
|
|
Packit Service |
99d393 |
"//ListNode//IntNode",
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def combined():
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> combined()
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return 5 in 100 * [1, 2] * 0 or 5 not in 100 * [] * 10
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
'//IntNode[@value = "2"]',
|
|
Packit Service |
99d393 |
'//IntNode[@value = "4"]',
|
|
Packit Service |
99d393 |
'//IntNode[@value = "5"]',
|
|
Packit Service |
99d393 |
'//IntNode[@value = "7"]',
|
|
Packit Service |
99d393 |
'//BoolBinopNode//PrimaryCmpNode',
|
|
Packit Service |
99d393 |
'//BoolBinopNode[.//PrimaryCmpNode//IntNode[@value = "4"] and .//PrimaryCmpNode//IntNode[@value = "5"]]',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode[.//IntNode[@value = "2"] and .//IntNode[@value = "4"]]',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode[.//IntNode[@value = "5"] and .//IntNode[@value = "7"]]',
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
'//IntNode[@value = "1"]',
|
|
Packit Service |
99d393 |
'//IntNode[@value = "8"]',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode[.//IntNode[@value = "4"] and .//IntNode[@value = "5"]]',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode[.//IntNode[@value = "2"] and .//IntNode[@value = "7"]]',
|
|
Packit Service |
99d393 |
'//BoolNode',
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def cascaded_cmp_with_partial_constants(a, b):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants(3, 6)
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants(1, 6)
|
|
Packit Service |
99d393 |
False
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants(4, 6)
|
|
Packit Service |
99d393 |
False
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants(3, 7)
|
|
Packit Service |
99d393 |
False
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants(3, 6)
|
|
Packit Service |
99d393 |
True
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
return 1 < 2 < a < 4 < 5 < b < 7 < 8
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
'//IntNode[@value = "2"]',
|
|
Packit Service |
99d393 |
'//IntNode[@value = "4"]',
|
|
Packit Service |
99d393 |
'//IntNode[@value = "5"]',
|
|
Packit Service |
99d393 |
'//IntNode[@value = "7"]',
|
|
Packit Service |
99d393 |
'//BoolBinopNode',
|
|
Packit Service |
99d393 |
'//SingleAssignmentNode//BoolBinopNode',
|
|
Packit Service |
99d393 |
'//SingleAssignmentNode//BoolBinopNode//NameNode[@name = "a"]',
|
|
Packit Service |
99d393 |
'//SingleAssignmentNode//BoolBinopNode//NameNode[@name = "b"]',
|
|
Packit Service |
99d393 |
'//BoolBinopNode[.//PrimaryCmpNode//IntNode[@value = "4"] and .//PrimaryCmpNode//IntNode[@value = "5"]]',
|
|
Packit Service |
99d393 |
'//BoolNode[@value = False]',
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
'//SingleAssignmentNode//NameNode[@name = "c"]',
|
|
Packit Service |
99d393 |
'//IntNode[@value = "1"]',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode[.//IntNode[@value = "4"] and .//IntNode[@value = "5"]]',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode[.//IntNode[@value = "2"] and .//IntNode[@value = "7"]]',
|
|
Packit Service |
99d393 |
'//BoolNode[@value = True]',
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def cascaded_cmp_with_partial_constants_and_false_end(a, b, c):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants_and_false_end(3, 6, 8)
|
|
Packit Service |
99d393 |
False
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants_and_false_end(1, 6, 8)
|
|
Packit Service |
99d393 |
False
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants_and_false_end(4, 6, 8)
|
|
Packit Service |
99d393 |
False
|
|
Packit Service |
99d393 |
>>> cascaded_cmp_with_partial_constants_and_false_end(3, 7, 8)
|
|
Packit Service |
99d393 |
False
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
x = 1 < 2 < a < 4 < 5 < b < 7 < 7 < c
|
|
Packit Service |
99d393 |
return x
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
|
|
Packit Service |
99d393 |
@cython.test_assert_path_exists(
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode//IntNode',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode//IntNode[@value = "0"]',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode//IntNode[@value = "4294967296"]',
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
@cython.test_fail_if_path_exists(
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode//IntBinopNode',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode//IntNode[@value = "1"]',
|
|
Packit Service |
99d393 |
'//PrimaryCmpNode//IntNode[@value = "32"]',
|
|
Packit Service |
99d393 |
)
|
|
Packit Service |
99d393 |
def const_in_binop(v):
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
>>> const_in_binop(-1)
|
|
Packit Service |
99d393 |
1
|
|
Packit Service |
99d393 |
>>> const_in_binop(0)
|
|
Packit Service |
99d393 |
0
|
|
Packit Service |
99d393 |
>>> const_in_binop(1 << 32)
|
|
Packit Service |
99d393 |
1
|
|
Packit Service |
99d393 |
>>> const_in_binop(1 << 32 - 1)
|
|
Packit Service |
99d393 |
0
|
|
Packit Service |
99d393 |
"""
|
|
Packit Service |
99d393 |
if v < 0 or v >= (1 << 32):
|
|
Packit Service |
99d393 |
return 1
|
|
Packit Service |
99d393 |
else:
|
|
Packit Service |
99d393 |
return 0
|