21 #ifndef ABC__sat__msat__msat_h
22 #define ABC__sat__msat__msat_h
56 #define MSAT_VAR2LIT(v,s) (2*(v)+(s))
57 #define MSAT_LITNOT(l) ((l)^1)
58 #define MSAT_LITSIGN(l) ((l)&1)
59 #define MSAT_LIT2VAR(l) ((l)>>1)
int Msat_SolverReadInspects(Msat_Solver_t *p)
int Msat_SolverReadBackTracks(Msat_Solver_t *p)
struct Msat_VarHeap_t_ Msat_VarHeap_t
Msat_IntVec_t * Msat_SolverReadVarsUsed(Msat_Solver_t *p)
void Msat_VarHeapDelete(Msat_VarHeap_t *p, int iVar)
int * Msat_SolverReadModelArray(Msat_Solver_t *p)
int Msat_SolverAddClause(Msat_Solver_t *p, Msat_IntVec_t *pLits)
int * Msat_SolverReadSolutionsArray(Msat_Solver_t *p)
void Msat_SolverSetVarMap(Msat_Solver_t *p, Msat_IntVec_t *vVarMap)
int Msat_IntVecReadEntryLast(Msat_IntVec_t *p)
void Msat_VarHeapCheck(Msat_VarHeap_t *p)
void Msat_SolverFree(Msat_Solver_t *p)
Msat_IntVec_t * Msat_SolverReadConeVars(Msat_Solver_t *p)
void Msat_SolverPrintClauses(Msat_Solver_t *p)
Msat_IntVec_t * Msat_IntVecAllocArrayCopy(int *pArray, int nSize)
int Msat_SolverSimplifyDB(Msat_Solver_t *p)
void Msat_SolverRemoveMarked(Msat_Solver_t *p)
void Msat_IntVecClear(Msat_IntVec_t *p)
int Msat_SolverReadSolutions(Msat_Solver_t *p)
float * Msat_SolverReadFactors(Msat_Solver_t *p)
void Msat_SolverSetVarTypeA(Msat_Solver_t *p, int Var)
Msat_IntVec_t * Msat_IntVecDup(Msat_IntVec_t *pVec)
void Msat_SolverPrintAssignment(Msat_Solver_t *p)
FUNCTION DEFINITIONS ///.
Msat_Solver_t * Msat_SolverAlloc(int nVars, double dClaInc, double dClaDecay, double dVarInc, double dVarDecay, int fVerbose)
int Msat_SolverReadClauseNum(Msat_Solver_t *p)
int Msat_SolverAddVar(Msat_Solver_t *p, int Level)
DECLARATIONS ///.
void Msat_VarHeapCheckOne(Msat_VarHeap_t *p, int iVar)
void Msat_SolverRemoveLearned(Msat_Solver_t *p)
int Msat_VarHeapContainsVar(Msat_VarHeap_t *p, int iVar)
Msat_IntVec_t * Msat_IntVecDupArray(Msat_IntVec_t *pVec)
int Msat_SolverParseDimacs(FILE *pFile, Msat_Solver_t **p, int fVerbose)
GLOBAL VARIABLES ///.
void Msat_SolverMarkLastClauseTypeA(Msat_Solver_t *p)
int Msat_IntVecReadSize(Msat_IntVec_t *p)
void Msat_IntVecPush(Msat_IntVec_t *p, int Entry)
int * Msat_SolverReadAssignsArray(Msat_Solver_t *p)
Msat_IntVec_t * Msat_IntVecAllocArray(int *pArray, int nSize)
int * Msat_IntVecReleaseArray(Msat_IntVec_t *p)
void Msat_VarHeapStop(Msat_VarHeap_t *p)
void Msat_VarHeapInsert(Msat_VarHeap_t *p, int iVar)
void Msat_SolverWriteDimacs(Msat_Solver_t *p, char *pFileName)
void Msat_VarHeapSetActivity(Msat_VarHeap_t *p, double *pActivity)
int Msat_IntVecPop(Msat_IntVec_t *p)
void Msat_SolverMarkClausesStart(Msat_Solver_t *p)
void Msat_VarHeapPrint(FILE *pFile, Msat_VarHeap_t *p)
int Msat_VarHeapReadMax(Msat_VarHeap_t *p)
void Msat_VarHeapUpdate(Msat_VarHeap_t *p, int iVar)
void Msat_IntVecFill(Msat_IntVec_t *p, int nSize, int Entry)
void Msat_SolverResize(Msat_Solver_t *pMan, int nVarsAlloc)
void Msat_SolverPrepare(Msat_Solver_t *pSat, Msat_IntVec_t *vVars)
int Msat_IntVecReadEntry(Msat_IntVec_t *p, int i)
void Msat_VarHeapStart(Msat_VarHeap_t *p, int *pVars, int nVars, int nVarsAlloc)
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
double Msat_VarHeapReadMaxWeight(Msat_VarHeap_t *p)
unsigned Msat_SolverReadTruth(Msat_Solver_t *p)
void Msat_VarHeapGrow(Msat_VarHeap_t *p, int nSize)
#define ABC_NAMESPACE_HEADER_END
Msat_IntVec_t * Msat_IntVecAlloc(int nCap)
FUNCTION DEFINITIONS ///.
void Msat_IntVecFree(Msat_IntVec_t *p)
void Msat_SolverSetVerbosity(Msat_Solver_t *p, int fVerbose)
Msat_VarHeap_t * Msat_VarHeapAlloc()
int Msat_VarHeapCountNodes(Msat_VarHeap_t *p, double WeightLimit)
Msat_ClauseVec_t * Msat_SolverReadAdjacents(Msat_Solver_t *p)
int Msat_IntVecPushUnique(Msat_IntVec_t *p, int Entry)
int Msat_VarHeapGetMax(Msat_VarHeap_t *p)
void Msat_SolverClean(Msat_Solver_t *p, int nVars)
int Msat_SolverReadVarNum(Msat_Solver_t *p)
FUNCTION DEFINITIONS ///.
void Msat_SolverSetProofWriting(Msat_Solver_t *p, int fProof)
void Msat_IntVecShrink(Msat_IntVec_t *p, int nSizeNew)
int * Msat_IntVecReadArray(Msat_IntVec_t *p)
void Msat_IntVecWriteEntry(Msat_IntVec_t *p, int i, int Entry)
int Msat_SolverReadVarAllocNum(Msat_Solver_t *p)
void Msat_IntVecGrow(Msat_IntVec_t *p, int nCapMin)
void Msat_IntVecPushUniqueOrder(Msat_IntVec_t *p, int Entry, int fIncrease)
void Msat_SolverPrintStats(Msat_Solver_t *p)
void Msat_IntVecSort(Msat_IntVec_t *p, int fReverse)
typedefABC_NAMESPACE_HEADER_START struct Msat_Solver_t_ Msat_Solver_t
INCLUDES ///.
int Msat_SolverSolve(Msat_Solver_t *p, Msat_IntVec_t *pVecAssumps, int nBackTrackLimit, int nTimeLimit)