Class Sat4jUtils
- java.lang.Object
-
- ru.ispras.microtesk.basis.solver.bitvector.Sat4jUtils
-
public final class Sat4jUtils extends java.lang.Object
Sat4jUtils
contains a number of utilities to deal with SAT4J.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static org.sat4j.specs.IVecInt
createClause(int newIndex, int size)
static java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector>
decodeSolution(org.sat4j.specs.IProblem problem, java.util.Map<ru.ispras.fortress.data.Variable,java.lang.Integer> indices)
static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt>
encodeVarEqualConst(int linkToIndex, ru.ispras.fortress.expression.Node lhs, int lhsIndex, java.math.BigInteger rhs)
static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt>
encodeVarEqualConst(ru.ispras.fortress.expression.Node lhs, int lhsIndex, java.math.BigInteger rhs)
static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt>
encodeVarEqualVar(int linkToIndex, ru.ispras.fortress.expression.Node lhs, int lhsIndex, ru.ispras.fortress.expression.Node rhs, int rhsIndex, int newIndex)
static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt>
encodeVarEqualVar(ru.ispras.fortress.expression.Node lhs, int lhsIndex, ru.ispras.fortress.expression.Node rhs, int rhsIndex)
static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt>
encodeVarNotEqualConst(int linkToIndex, ru.ispras.fortress.expression.Node lhs, int lhsIndex, java.math.BigInteger rhs)
static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt>
encodeVarNotEqualConst(ru.ispras.fortress.expression.Node lhs, int lhsIndex, java.math.BigInteger rhs)
static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt>
encodeVarNotEqualVar(int linkToIndex, ru.ispras.fortress.expression.Node lhs, int lhsIndex, ru.ispras.fortress.expression.Node rhs, int rhsIndex, int newIndex)
static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt>
encodeVarNotEqualVar(ru.ispras.fortress.expression.Node lhs, int lhsIndex, ru.ispras.fortress.expression.Node rhs, int rhsIndex, int newIndex)
static org.sat4j.specs.ISolver
getSolver()
-
-
-
Method Detail
-
getSolver
public static org.sat4j.specs.ISolver getSolver()
-
createClause
public static org.sat4j.specs.IVecInt createClause(int newIndex, int size)
-
encodeVarEqualConst
public static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt> encodeVarEqualConst(ru.ispras.fortress.expression.Node lhs, int lhsIndex, java.math.BigInteger rhs)
-
encodeVarEqualConst
public static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt> encodeVarEqualConst(int linkToIndex, ru.ispras.fortress.expression.Node lhs, int lhsIndex, java.math.BigInteger rhs)
-
encodeVarNotEqualConst
public static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt> encodeVarNotEqualConst(ru.ispras.fortress.expression.Node lhs, int lhsIndex, java.math.BigInteger rhs)
-
encodeVarNotEqualConst
public static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt> encodeVarNotEqualConst(int linkToIndex, ru.ispras.fortress.expression.Node lhs, int lhsIndex, java.math.BigInteger rhs)
-
encodeVarEqualVar
public static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt> encodeVarEqualVar(ru.ispras.fortress.expression.Node lhs, int lhsIndex, ru.ispras.fortress.expression.Node rhs, int rhsIndex)
-
encodeVarEqualVar
public static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt> encodeVarEqualVar(int linkToIndex, ru.ispras.fortress.expression.Node lhs, int lhsIndex, ru.ispras.fortress.expression.Node rhs, int rhsIndex, int newIndex)
-
encodeVarNotEqualVar
public static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt> encodeVarNotEqualVar(ru.ispras.fortress.expression.Node lhs, int lhsIndex, ru.ispras.fortress.expression.Node rhs, int rhsIndex, int newIndex)
-
encodeVarNotEqualVar
public static org.sat4j.specs.IVec<org.sat4j.specs.IVecInt> encodeVarNotEqualVar(int linkToIndex, ru.ispras.fortress.expression.Node lhs, int lhsIndex, ru.ispras.fortress.expression.Node rhs, int rhsIndex, int newIndex)
-
decodeSolution
public static java.util.Map<ru.ispras.fortress.data.Variable,ru.ispras.fortress.data.types.bitvector.BitVector> decodeSolution(org.sat4j.specs.IProblem problem, java.util.Map<ru.ispras.fortress.data.Variable,java.lang.Integer> indices)
-
-