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
30 package org.sat4j.pb;
31
32 import java.math.BigInteger;
33
34 import org.sat4j.specs.ContradictionException;
35 import org.sat4j.specs.IConstr;
36 import org.sat4j.specs.IVec;
37 import org.sat4j.specs.IVecInt;
38 import org.sat4j.tools.SolverDecorator;
39
40
41
42
43
44
45
46 public class PBSolverDecorator extends SolverDecorator<IPBSolver> implements
47 IPBSolver {
48
49
50
51
52 private static final long serialVersionUID = 1L;
53
54 public PBSolverDecorator(IPBSolver solver) {
55 super(solver);
56 }
57
58 public IConstr addPseudoBoolean(IVecInt lits, IVec<BigInteger> coeffs,
59 boolean moreThan, BigInteger d) throws ContradictionException {
60 return decorated().addPseudoBoolean(lits, coeffs, moreThan, d);
61 }
62
63 public void setObjectiveFunction(ObjectiveFunction obj) {
64 decorated().setObjectiveFunction(obj);
65 }
66
67 public ObjectiveFunction getObjectiveFunction() {
68 return decorated().getObjectiveFunction();
69 }
70
71 public IConstr addAtMost(IVecInt literals, IVecInt coeffs, int degree)
72 throws ContradictionException {
73 return decorated().addAtMost(literals, coeffs, degree);
74 }
75
76 public IConstr addAtMost(IVecInt literals, IVec<BigInteger> coeffs,
77 BigInteger degree) throws ContradictionException {
78 return decorated().addAtMost(literals, coeffs, degree);
79 }
80
81 public IConstr addAtLeast(IVecInt literals, IVecInt coeffs, int degree)
82 throws ContradictionException {
83 return decorated().addAtLeast(literals, coeffs, degree);
84 }
85
86 public IConstr addAtLeast(IVecInt literals, IVec<BigInteger> coeffs,
87 BigInteger degree) throws ContradictionException {
88 return decorated().addAtLeast(literals, coeffs, degree);
89 }
90
91 public IConstr addExactly(IVecInt literals, IVecInt coeffs, int weight)
92 throws ContradictionException {
93 return decorated().addExactly(literals, coeffs, weight);
94 }
95
96 public IConstr addExactly(IVecInt literals, IVec<BigInteger> coeffs,
97 BigInteger weight) throws ContradictionException {
98 return decorated().addExactly(literals, coeffs, weight);
99 }
100
101 }