use of org.opt4j.satdecoding.Literal in project opt4j by felixreimann.
the class SAT4JSolver method toVecInt.
protected VecInt toVecInt(Iterable<Literal> list) {
VecInt vector = new VecInt();
for (Literal literal : list) {
Object var = literal.variable();
if (!variables.containsKey(var)) {
variables.put(var, nextVariable++);
if (variables.size() > solver.nVars()) {
setNVars(variables.size() * 2);
}
}
boolean phase = literal.phase();
vector.push(variables.get(var) * (phase ? 1 : -1));
}
return vector;
}
use of org.opt4j.satdecoding.Literal in project opt4j by felixreimann.
the class ConstraintTest method equalityTestOfOperator.
@Test
public void equalityTestOfOperator() {
Object object1 = "literal1";
Object object2 = "literal2";
Constraint c1 = new Constraint(Operator.LE, 2);
c1.add(2, new Literal(object1, true));
c1.add(2, new Literal(object2, true));
Constraint c2 = new Constraint(Operator.GE, 2);
c2.add(2, new Literal(object1, true));
c2.add(2, new Literal(object2, true));
Constraint c3 = new Constraint(Operator.EQ, 2);
c3.add(2, new Literal(object1, true));
c3.add(2, new Literal(object2, true));
Assert.assertFalse(c1.equals(c2));
Assert.assertFalse(c1.equals(c3));
Assert.assertFalse(c2.equals(c3));
}
use of org.opt4j.satdecoding.Literal in project opt4j by felixreimann.
the class ConstraintTest method equalityTestOfRhs2.
@Test
public void equalityTestOfRhs2() {
Constraint c1 = new Constraint(">=", 1);
c1.add(2, new Literal("papa", true));
Constraint c2 = new Constraint("<=", 1);
c2.add(2, new Literal("lala", true));
// returns true, should be false
Assert.assertFalse(c1.equals(c2));
}