47 int nBTLimit = p->pPars->nBTLimit;
48 int pLits[3], nLits, RetValue, RetValue1;
51 p->pMSat->nSolverCalls++;
57 assert( p->pMSat != NULL );
68 if ( p->iOutputLit > -1 )
69 pLits[nLits++] = p->iOutputLit;
70 if ( p->pPars->fPolarFlip )
77 if ( p->pMSat->pSat->qtail != p->pMSat->pSat->qhead )
85 (ABC_INT64_T)nBTLimit, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );
106 else if ( RetValue1 ==
l_True )
131 if ( p->iOutputLit > -1 )
132 pLits[nLits++] = p->iOutputLit;
133 if ( p->pPars->fPolarFlip )
139 if ( p->pMSat->pSat->qtail != p->pMSat->pSat->qhead )
147 (ABC_INT64_T)nBTLimit, (ABC_INT64_T)0, (ABC_INT64_T)0, (ABC_INT64_T)0 );
154 pLits[0] =
lit_neg( pLits[0] );
155 pLits[1] =
lit_neg( pLits[1] );
168 else if ( RetValue1 ==
l_True )
198 int pLits[2], RetValue, fComplNew;
220 assert( p->pMSat != NULL );
235 if ( p->pPars->fPolarFlip )
249 if ( p->pPars->fPolarFlip )
254 pLits[0] =
lit_neg( pLits[0] );
255 pLits[1] =
lit_neg( pLits[1] );
262 if ( p->pPars->fPolarFlip )
267 pLits[0] =
lit_neg( pLits[0] );
268 pLits[1] =
lit_neg( pLits[1] );
292 if ( p->pPars->fPolarFlip )
int Ssw_NodeIsConstrained(Ssw_Man_t *p, Aig_Obj_t *pPoObj)
void Ssw_CnfNodeAddToSolver(Ssw_Sat_t *p, Aig_Obj_t *pObj)
int sat_solver_addclause(sat_solver *s, lit *begin, lit *end)
int sat_solver_solve(sat_solver *s, lit *begin, lit *end, ABC_INT64_T nConfLimit, ABC_INT64_T nInsLimit, ABC_INT64_T nConfLimitGlobal, ABC_INT64_T nInsLimitGlobal)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static int Aig_IsComplement(Aig_Obj_t *p)
static Aig_Obj_t * Aig_Regular(Aig_Obj_t *p)
typedefABC_NAMESPACE_HEADER_START struct Ssw_Man_t_ Ssw_Man_t
INCLUDES ///.
static Aig_Obj_t * Aig_Not(Aig_Obj_t *p)
static abctime Abc_Clock()
static lit lit_neg(lit l)
static lit toLitCond(int v, int c)
#define ABC_NAMESPACE_IMPL_END
static int Aig_ObjPhaseReal(Aig_Obj_t *pObj)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
int sat_solver_simplify(sat_solver *s)
int Ssw_NodesAreConstrained(Ssw_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
static int Ssw_ObjSatNum(Ssw_Sat_t *p, Aig_Obj_t *pObj)
MACRO DEFINITIONS ///.
ABC_NAMESPACE_IMPL_START int Ssw_NodesAreEquiv(Ssw_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
DECLARATIONS ///.