22 class OverFlowBehavior:
25 SATC_FLAGFORCESOVERFLOW=2
26 SATC_OVERFLOWSETSFLAG=3
27 SATC_FLAGIFFOVERFLOW=4
32 csolverlb = cdll.LoadLibrary("lib_cons_comp.so")
33 csolverlb.createCCSolver.restype = c_void_p
34 csolverlb.createSet.argtypes = [c_void_p, c_uint, POINTER(c_long), c_uint]
35 csolverlb.createSet.restype = c_void_p
36 csolverlb.getElementVar.argtypes = [c_void_p, c_void_p]
37 csolverlb.getElementVar.restype = c_void_p
38 csolverlb.createPredicateOperator.argtypes = [c_void_p, c_uint]
39 csolverlb.createPredicateOperator.restype = c_void_p
40 csolverlb.applyPredicate.argtypes = [c_void_p, c_void_p, POINTER(c_void_p), c_uint]
41 csolverlb.applyPredicate.restype = c_void_p
42 csolverlb.addConstraint.argtypes = [c_void_p, c_void_p]
43 csolverlb.addConstraint.restype = None
44 csolverlb.solve.argtypes = [c_void_p]
45 csolverlb.solve.restype = c_int
46 csolverlb.getElementValue.argtypes = [c_void_p, c_void_p]
47 csolverlb.getElementValue.restype = c_long
48 csolverlb.deleteCCSolver.argtypes = [c_void_p]
49 csolverlb.deleteCCSolver.restype = None
50 csolverlb.createRangeSet.argtypes = [c_void_p, c_uint, c_long, c_long]
51 csolverlb.createRangeSet.restype = c_void_p
52 csolverlb.createRangeVar.argtypes = [c_void_p, c_uint, c_long, c_long]
53 csolverlb.createRangeVar.restype = c_void_p
54 csolverlb.createMutableSet.argtypes = [c_void_p, c_uint]
55 csolverlb.createMutableSet.restype = c_void_p
56 csolverlb.addItem.argtypes = [c_void_p, c_void_p, c_long]
57 csolverlb.addItem.restype = None
58 csolverlb.finalizeMutableSet.argtypes = [c_void_p, c_void_p]
59 csolverlb.finalizeMutableSet.restype = None
60 csolverlb.getElementVar.argtypes = [c_void_p, c_void_p]
61 csolverlb.getElementVar.restype = c_void_p
62 csolverlb.getElementConst.argtypes = [c_void_p, c_uint, c_long]
63 csolverlb.getElementConst.restype = c_void_p
64 csolverlb.getElementRange.argtypes = [c_void_p, c_void_p]
65 csolverlb.getElementRange.restype = c_void_p
66 csolverlb.getBooleanVar.argtypes = [c_void_p, c_uint]
67 csolverlb.getBooleanVar.restype = c_void_p
68 csolverlb.createFunctionOperator.argtypes = [c_void_p, c_uint, c_void_p, c_uint]
69 csolverlb.createFunctionOperator.restype = c_void_p
70 csolverlb.createPredicateOperator.argtypes = [c_void_p, c_uint]
71 csolverlb.createPredicateOperator.restype = c_void_p
72 csolverlb.createPredicateTable.argtypes = [c_void_p, c_void_p, c_uint]
73 csolverlb.createPredicateTable.restype = c_void_p
74 csolverlb.createTable.argtypes = [c_void_p, c_void_p]
75 csolverlb.createTable.restype = c_void_p
76 csolverlb.createTableForPredicate.argtypes = [c_void_p]
77 csolverlb.createTableForPredicate.restype = c_void_p
78 csolverlb.addTableEntry.argtypes = [c_void_p, c_void_p, c_void_p, c_uint, c_long]
79 csolverlb.addTableEntry.restype = None
80 csolverlb.completeTable.argtypes = [c_void_p, c_void_p, c_uint]
81 csolverlb.completeTable.restype = c_void_p
82 csolverlb.applyFunction.argtypes = [c_void_p, c_void_p, POINTER(c_void_p), c_uint, c_void_p]
83 csolverlb.applyFunction.restype = c_void_p
84 csolverlb.applyPredicateTable.argtypes = [c_void_p, c_void_p, POINTER(c_void_p), c_uint, c_void_p]
85 csolverlb.applyPredicateTable.restype = c_void_p
86 csolverlb.applyPredicate.argtypes = [c_void_p, c_void_p, POINTER(c_void_p), c_uint]
87 csolverlb.applyPredicate.restype = c_void_p
88 csolverlb.applyLogicalOperation.argtypes = [c_void_p, c_uint, c_void_p, c_uint]
89 csolverlb.applyLogicalOperation.restype = c_void_p
90 csolverlb.applyExactlyOneConstraint.argtypes = [c_void_p, c_void_p, c_uint]
91 csolverlb.applyExactlyOneConstraint.restype = c_void_p
92 csolverlb.applyLogicalOperationTwo.argtypes = [c_void_p, c_uint, c_void_p, c_void_p]
93 csolverlb.applyLogicalOperationTwo.restype = c_void_p
94 csolverlb.applyLogicalOperationOne.argtypes = [c_void_p, c_uint, c_void_p]
95 csolverlb.applyLogicalOperationOne.restype = c_void_p
96 csolverlb.addConstraint.argtypes = [c_void_p, c_void_p]
97 csolverlb.addConstraint.restype = None
98 csolverlb.createOrder.argtypes = [c_void_p, c_uint, c_void_p]
99 csolverlb.createOrder.restype = c_void_p
100 csolverlb.orderConstraint.argtypes = [c_void_p, c_void_p, c_long, c_long]
101 csolverlb.orderConstraint.restype = c_void_p
102 csolverlb.solve.argtypes = [c_void_p]
103 csolverlb.solve.restype = c_int
104 csolverlb.solveIncremental.argtypes = [c_void_p]
105 csolverlb.solveIncremental.restype = c_int
106 csolverlb.mustHaveValue.argtypes = [c_void_p, c_void_p]
107 csolverlb.mustHaveValue.restype = c_void_p
108 csolverlb.getElementValue.argtypes = [c_void_p, c_void_p]
109 csolverlb.getElementValue.restype = c_void_p
110 csolverlb.freezeElement.argtypes = [c_void_p, c_void_p]
111 csolverlb.freezeElement.restype = c_long
112 csolverlb.getBooleanValue.argtypes = [c_void_p, c_void_p]
113 csolverlb.getBooleanValue.restype = c_int
114 csolverlb.getOrderConstraintValue.argtypes = [c_void_p, c_void_p, c_long, c_long]
115 csolverlb.getOrderConstraintValue.restype = c_int
116 csolverlb.printConstraints.argtypes = [c_void_p]
117 csolverlb.printConstraints.restype = None
118 csolverlb.turnoffOptimizations.argtypes = [c_void_p]
119 csolverlb.turnoffOptimizations.restype = None
120 csolverlb.clone.argtypes = [c_void_p]
121 csolverlb.clone.restype = c_void_p
122 csolverlb.serialize.argtypes = [c_void_p]
123 csolverlb.serialize.restype = None
124 csolverlb.setInterpreter.argtypes = [c_void_p, c_uint]
125 csolverlb.setInterpreter.restype = None