50 int pLits[4], RetValue, RetValue1, nBTLimit;
62 nBTLimit = p->
pPars->nBTLimitNode;
63 if ( !p->
pPars->fSpeculate && p->
pPars->nFramesK == 0 && (nBTLimit > 0 && (pOld->
fMarkB || pNew->
fMarkB)) )
70 nBTLimit = (int)pow(nBTLimit, 0.7);
77 if ( p->
pSat == NULL )
83 pLits[0] =
toLit( 0 );
98 if ( p->
pPars->fConeBias )
108 (ABC_INT64_T)nBTLimit, (ABC_INT64_T)0,
114 pLits[0] =
lit_neg( pLits[0] );
115 pLits[1] =
lit_neg( pLits[1] );
121 else if ( RetValue1 ==
l_True )
152 (ABC_INT64_T)nBTLimit, (ABC_INT64_T)0,
158 pLits[0] =
lit_neg( pLits[0] );
159 pLits[1] =
lit_neg( pLits[1] );
164 else if ( RetValue1 ==
l_True )
211 int pLits[4], RetValue, RetValue1, nBTLimit;
223 nBTLimit = p->
pPars->nBTLimitNode;
238 if ( p->
pSat == NULL )
244 pLits[0] =
toLit( 0 );
259 if ( p->
pPars->fConeBias )
271 (ABC_INT64_T)nBTLimit, (ABC_INT64_T)0,
277 pLits[0] =
lit_neg( pLits[0] );
278 pLits[1] =
lit_neg( pLits[1] );
284 else if ( RetValue1 ==
l_True )
319 int pLits[4], RetValue, RetValue1, nBTLimit;
331 nBTLimit = p->
pPars->nBTLimitNode;
346 if ( p->
pSat == NULL )
352 pLits[0] =
toLit( 0 );
367 if ( p->
pPars->fConeBias )
379 (ABC_INT64_T)nBTLimit, (ABC_INT64_T)0,
385 pLits[0] =
lit_neg( pLits[0] );
386 pLits[1] =
lit_neg( pLits[1] );
392 else if ( RetValue1 ==
l_True )
427 int pLits[2], RetValue1, RetValue;
436 if ( p->
pSat == NULL )
442 pLits[0] =
toLit( 0 );
450 if ( p->
pPars->fConeBias )
457 (ABC_INT64_T)p->
pPars->nBTLimitMiter, (ABC_INT64_T)0,
463 pLits[0] =
lit_neg( pLits[0] );
469 else if ( RetValue1 ==
l_True )
542 int LevelMin, LevelMax;
553 LevelMin = (int)(LevelMax * (1.0 - p->
pPars->dActConeRatio));
static ABC_NAMESPACE_IMPL_START int Fra_SetActivityFactors(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
DECLARATIONS ///.
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
ABC_INT64_T nInsLimitGlobal
int sat_solver_addclause(sat_solver *s, lit *begin, lit *end)
static int Aig_ObjIsTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
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)
int Fra_NodeIsConst(Fra_Man_t *p, Aig_Obj_t *pNew)
static void veci_push(veci *v, int e)
static int Aig_IsComplement(Aig_Obj_t *p)
ABC_INT64_T nBTLimitGlobal
static Aig_Obj_t * Aig_Regular(Aig_Obj_t *p)
static void veci_resize(veci *v, int k)
static abctime Abc_Clock()
int Fra_SetActivityFactors_rec(Fra_Man_t *p, Aig_Obj_t *pObj, int LevelMin, int LevelMax)
static int Abc_MaxInt(int a, int b)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
void Fra_CnfNodeAddToSolver(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
void Aig_ManIncrementTravId(Aig_Man_t *p)
DECLARATIONS ///.
static lit lit_neg(lit l)
int Fra_NodesAreClause(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew, int fComplL, int fComplR)
int Fra_NodesAreEquiv(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
FUNCTION DEFINITIONS ///.
static lit toLitCond(int v, int c)
void sat_solver_setnvars(sat_solver *s, int n)
#define ABC_NAMESPACE_IMPL_END
static int Aig_ObjIsConst1(Aig_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_START
int sat_solver_simplify(sat_solver *s)
int Fra_NodesAreImp(Fra_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew, int fComplL, int fComplR)
sat_solver * sat_solver_new(void)
#define ABC_CALLOC(type, num)
static int Fra_ObjSatNum(Aig_Obj_t *pObj)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static int Aig_ObjIsCi(Aig_Obj_t *pObj)
static Vec_Ptr_t * Fra_ObjFaninVec(Aig_Obj_t *pObj)
void Fra_SmlSavePattern(Fra_Man_t *p)