org.sat4j.minisat.constraints
Class AbstractPBDataStructureFactory

java.lang.Object
  extended by org.sat4j.minisat.constraints.AbstractDataStructureFactory<ILits>
      extended by org.sat4j.minisat.constraints.AbstractPBDataStructureFactory
All Implemented Interfaces:
java.io.Serializable, IInternalPBConstraintCreator, DataStructureFactory<ILits>
Direct Known Subclasses:
AbstractPBClauseCardConstrDataStructure, PBMaxDataStructure, PBMinDataStructure, PuebloPBMinDataStructure

public abstract class AbstractPBDataStructureFactory
extends AbstractDataStructureFactory<ILits>
implements IInternalPBConstraintCreator

Author:
leberre To change the template for this generated type comment go to Window>Preferences>Java>Code Generation>Code and Comments
See Also:
Serialized Form

Constructor Summary
AbstractPBDataStructureFactory()
           
 
Method Summary
 Constr createCardinalityConstraint(IVecInt literals, int degree)
           
 Constr createClause(IVecInt literals)
           
 Constr createPseudoBooleanConstraint(IVecInt literals, IVec<java.math.BigInteger> coefs, boolean moreThan, java.math.BigInteger degree)
           
 Constr createUnregisteredClause(IVecInt literals)
           
 Constr createUnregisteredPseudoBooleanConstraint(IVecInt literals, IVec<java.math.BigInteger> coefs, java.math.BigInteger degree)
           
 IConstr createUnregisteredPseudoBooleanConstraint(IVecInt literals, IVec<java.math.BigInteger> coefs, boolean moreThan, java.math.BigInteger degree)
           
 
Methods inherited from class org.sat4j.minisat.constraints.AbstractDataStructureFactory
conflictDetectedInWatchesFor, getVocabulary, getWatchesFor, learnConstraint, reset, setLearner, setUnitPropagationListener
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractPBDataStructureFactory

public AbstractPBDataStructureFactory()
Method Detail

createClause

public Constr createClause(IVecInt literals)
                    throws ContradictionException
Specified by:
createClause in interface DataStructureFactory<ILits>
Parameters:
literals - a set of literals using Dimacs format (signed non null integers).
Returns:
null if the constraint is a tautology.
Throws:
ContradictionException - the constraint is trivially unsatisfiable.

createUnregisteredClause

public Constr createUnregisteredClause(IVecInt literals)
Specified by:
createUnregisteredClause in interface DataStructureFactory<ILits>

createCardinalityConstraint

public Constr createCardinalityConstraint(IVecInt literals,
                                          int degree)
                                   throws ContradictionException
Specified by:
createCardinalityConstraint in interface DataStructureFactory<ILits>
Overrides:
createCardinalityConstraint in class AbstractDataStructureFactory<ILits>
Throws:
ContradictionException

createPseudoBooleanConstraint

public Constr createPseudoBooleanConstraint(IVecInt literals,
                                            IVec<java.math.BigInteger> coefs,
                                            boolean moreThan,
                                            java.math.BigInteger degree)
                                     throws ContradictionException
Specified by:
createPseudoBooleanConstraint in interface DataStructureFactory<ILits>
Overrides:
createPseudoBooleanConstraint in class AbstractDataStructureFactory<ILits>
Throws:
ContradictionException

createUnregisteredPseudoBooleanConstraint

public Constr createUnregisteredPseudoBooleanConstraint(IVecInt literals,
                                                        IVec<java.math.BigInteger> coefs,
                                                        java.math.BigInteger degree)
Specified by:
createUnregisteredPseudoBooleanConstraint in interface IInternalPBConstraintCreator
Specified by:
createUnregisteredPseudoBooleanConstraint in interface DataStructureFactory<ILits>
Overrides:
createUnregisteredPseudoBooleanConstraint in class AbstractDataStructureFactory<ILits>

createUnregisteredPseudoBooleanConstraint

public IConstr createUnregisteredPseudoBooleanConstraint(IVecInt literals,
                                                         IVec<java.math.BigInteger> coefs,
                                                         boolean moreThan,
                                                         java.math.BigInteger degree)
                                                  throws ContradictionException
Throws:
ContradictionException