21#ifndef ABC__sat__xSAT__xsatSolver_h
22#define ABC__sat__xSAT__xsatSolver_h
73#define CRefUndef 0xFFFFFFFF
173static inline int xSAT_Var2Lit(
int Var,
int c )
175 return Var +
Var + ( c != 0 );
178static inline int xSAT_NegLit(
int Lit )
183static inline int xSAT_Lit2Var(
int Lit )
188static inline int xSAT_LitSign(
int Lit )
193static inline int xSAT_SolverDecisionLevel(
xSAT_Solver_t * s )
200 return xSAT_MemClauseHand( s->
pMemory, h );
206 int * Lits = &( pCla->pData[0].Lit );
208 for ( i = 0; i < pCla->nSize; i++ )
209 if ( Vec_StrEntry( s->
vAssigns, xSAT_Lit2Var( Lits[i] ) ) == xSAT_LitSign( ( Lits[i] ) ) )
215static inline void xSAT_SolverPrintClauses(
xSAT_Solver_t * s )
221 xSAT_ClausePrint( xSAT_SolverReadClause( s, CRef ) );
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
struct Vec_Str_t_ Vec_Str_t
RegionAllocator< uint32_t >::Ref CRef
unsigned nLBDFrozenClause
xSAT_SolverOptions_t Config
xSAT_VecWatchList_t * vWatches
Vec_Int_t * vLearntClause
xSAT_VecWatchList_t * vBinWatches
#define Vec_IntForEachEntry(vVec, Entry, i)
MACRO DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct xSAT_BQueue_t_ xSAT_BQueue_t
INCLUDES ///.
typedefABC_NAMESPACE_HEADER_START struct xSAT_Clause_t_ xSAT_Clause_t
INCLUDES ///.
typedefABC_NAMESPACE_HEADER_START struct xSAT_Heap_t_ xSAT_Heap_t
STRUCTURE DEFINITIONS ///.
typedefABC_NAMESPACE_HEADER_START struct xSAT_Mem_t_ xSAT_Mem_t
INCLUDES ///.
void xSAT_SolverRebuildOrderHeap(xSAT_Solver_t *s)
int xSAT_SolverEnqueue(xSAT_Solver_t *s, int Lit, unsigned From)
struct xSAT_SolverOptions_t_ xSAT_SolverOptions_t
STRUCTURE DEFINITIONS ///.
void xSAT_SolverGarbageCollect(xSAT_Solver_t *s)
void xSAT_SolverCancelUntil(xSAT_Solver_t *s, int Level)
char xSAT_SolverSearch(xSAT_Solver_t *s)
struct xSAT_Stats_t_ xSAT_Stats_t
unsigned xSAT_SolverPropagate(xSAT_Solver_t *s)
unsigned xSAT_SolverClaNew(xSAT_Solver_t *s, Vec_Int_t *vLits, int fLearnt)
FUNCTION DECLARATIONS ///.
struct xSAT_VecWatchList_t_ xSAT_VecWatchList_t
struct xSAT_Solver_t_ xSAT_Solver_t