Completing the python wrapper + editing the c APIs
[satune.git] / src / pycsolver.py
1 from ctypes import *
2
3 def loadCSolver():
4         csolverlb = cdll.LoadLibrary("lib_cons_comp.so")
5         csolverlb.createCCSolver.restype = c_void_p
6         csolverlb.createSet.argtypes = [c_void_p, c_uint, POINTER(c_long), c_uint]
7         csolverlb.createSet.restype = c_void_p
8         csolverlb.getElementVar.argtypes = [c_void_p, c_void_p]
9         csolverlb.getElementVar.restype = c_void_p
10         csolverlb.createPredicateOperator.argtypes = [c_void_p, c_uint, POINTER(c_void_p), c_uint]
11         csolverlb.createPredicateOperator.restype = c_void_p
12         csolverlb.applyPredicate.argtypes = [c_void_p, c_void_p, POINTER(c_void_p), c_uint]
13         csolverlb.applyPredicate.restype = c_void_p
14         csolverlb.addConstraint.argtypes = [c_void_p, c_void_p]
15         csolverlb.addConstraint.restype = None
16         csolverlb.solve.argtypes = [c_void_p]
17         csolverlb.solve.restype = c_int
18         csolverlb.getElementValue.argtypes = [c_void_p, c_void_p]
19         csolverlb.getElementValue.restype = c_long
20         csolverlb.deleteCCSolver.argtypes = [c_void_p]
21         csolverlb.deleteCCSolver.restype = None
22         csolverlb.createRangeSet.argtypes = [c_void_p, c_uint, c_long, c_long]
23         csolverlb.createRangeSet.restype = c_void_p
24         csolverlb.createRangeVar.argtypes = [c_void_p, c_uint, c_long, c_long]
25         csolverlb.createRangeVar.restype = c_void_p
26         csolverlb.createMutableSet.argtypes = [c_void_p, c_uint]
27         csolverlb.createMutableSet.restype = c_void_p
28         csolverlb.addItem.argtypes = [c_void_p, c_void_p, c_long]
29         csolverlb.addItem.restype = None
30         csolverlb.finalizeMutableSet.argtypes = [c_void_p, c_void_p]
31         csolverlb.finalizeMutableSet.restype = None
32         csolverlb.getElementVar.argtypes = [c_void_p, c_void_p]
33         csolverlb.getElementVar.restype = c_void_p
34         csolverlb.getElementConst.argtypes = [c_void_p, c_uint, c_long]
35         csolverlb.getElementConst.restype = c_void_p
36         csolverlb.getElementRange.argtypes = [c_void_p, c_void_p]
37         csolverlb.getElementRange.restype = c_void_p
38         csolverlb.getBooleanVar.argtypes = [c_void_p, c_uint]
39         csolverlb.getBooleanVar.restype = c_void_p
40         csolverlb.createFunctionOperator.argtypes = [c_void_p, c_uint, POINTER(c_void_p), c_uint, c_void_p, c_uint]
41         csolverlb.createFunctionOperator.restype = c_void_p
42         csolverlb.createPredicateOperator.argtypes = [c_void_p, c_uint, POINTER(c_void_p), c_uint]
43         csolverlb.createPredicateOperator.restype = c_void_p
44         csolverlb.createPredicateTable.argtypes = [c_void_p, c_void_p, c_uint]
45         csolverlb.createPredicateTable.restype = c_void_p
46         csolverlb.createTable.argtypes = [c_void_p, POINTER(c_void_p), c_uint, c_void_p]
47         csolverlb.createTable.restype = c_void_p
48         csolverlb.createTableForPredicate.argtypes = [c_void_p, POINTER(c_void_p), c_uint]
49         csolverlb.createTableForPredicate.restype = c_void_p
50         csolverlb.addTableEntry.argtypes = [c_void_p, c_void_p, c_void_p, c_uint, c_long]
51         csolverlb.addTableEntry.restype = None
52         csolverlb.completeTable.argtypes = [c_void_p, c_void_p, c_uint]
53         csolverlb.completeTable.restype = c_void_p
54         csolverlb.applyFunction.argtypes = [c_void_p, c_void_p, POINTER(c_void_p), c_uint, c_void_p]
55         csolverlb.applyFunction.restype = c_void_p
56         csolverlb.applyPredicateTable.argtypes = [c_void_p, c_void_p, POINTER(c_void_p), c_uint, c_void_p]
57         csolverlb.applyPredicateTable.restype = c_void_p
58         csolverlb.applyPredicate.argtypes = [c_void_p, c_void_p, POINTER(c_void_p), c_uint]
59         csolverlb.applyPredicate.restype = c_void_p
60         csolverlb.applyLogicalOperation.argtypes = [c_void_p, c_uint, c_void_p, c_uint]
61         csolverlb.applyLogicalOperation.restype = c_void_p
62         csolverlb.applyLogicalOperationTwo.argtypes = [c_void_p, c_uint, c_void_p, c_void_p]
63         csolverlb.applyLogicalOperationTwo.restype = c_void_p
64         csolverlb.applyLogicalOperationOne.argtypes = [c_void_p, c_uint, c_void_p]
65         csolverlb.applyLogicalOperationOne.restype = c_void_p
66         csolverlb.addConstraint.argtypes = [c_void_p, c_void_p]
67         csolverlb.addConstraint.restype = None
68         csolverlb.createOrder.argtypes = [c_void_p, c_uint, c_void_p]
69         csolverlb.createOrder.restype = c_void_p
70         csolverlb.orderConstraint.argtypes = [c_void_p, c_void_p, c_long, c_long]
71         csolverlb.orderConstraint.restype = c_void_p
72         csolverlb.solve.argtypes = [c_void_p]
73         csolverlb.solve.restype = c_int
74         csolverlb.getElementValue.argtypes = [c_void_p, c_void_p]
75         csolverlb.getElementValue.restype = c_long
76         csolverlb.getBooleanValue.argtypes = [c_void_p, c_void_p]
77         csolverlb.getBooleanValue.restype = c_int
78         csolverlb.getOrderConstraintValue.argtypes = [c_void_p, c_void_p, c_long, c_long]
79         csolverlb.getOrderConstraintValue.restype = c_int
80         csolverlb.printConstraints.argtypes = [c_void_p]
81         csolverlb.printConstraints.restype = None
82         return csolverlb
83