-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpredicate.py
More file actions
29 lines (23 loc) · 902 Bytes
/
predicate.py
File metadata and controls
29 lines (23 loc) · 902 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from bv import Comparsion, Comparsion_const, ADD
from reachability import Reachability
from max_flow import Maxflow
predicate_list = [Comparsion, Comparsion_const, ADD, Reachability, Maxflow]
pre_predicate_list = [Comparsion, Comparsion_const, ADD]
def encode_predicate(predicate_class):
constraints = []
for predicate in predicate_class.Collection.values():
predicate.encode(constraints)
return constraints
def encode_all():
result_constraints = []
for predicate_class in predicate_list:
result_constraints += encode_predicate(predicate_class)
return result_constraints
def pre_encode():
result_constraints = []
for predicate_class in pre_predicate_list:
result_constraints += encode_predicate(predicate_class)
return result_constraints
def reset():
for predicate_class in predicate_list:
predicate_class.Collection.clear()