80 int RetValue1, RetValue2;
94 return RetValue1 > 0 || RetValue2 > 0;
112 int i, nVarNum, Value;
162 Aig_Obj_t * pObjFraig, * pObjReprFraig, * pObjLi;
168 if ( p->nCallsCount > 100 && p->nCallsUnsat < p->nCallsSat )
170 if ( ++p->nCallsDelta < 0 )
210 if ( RetValue == -1 )
268 assert( p->vSimInfo == NULL );
277 p->nCallsCount = p->nCallsSat = p->nCallsUnsat = 0;
296 if ( p->nPatterns == 32 )
301 if ( p->nPatterns == 32 )
304 if ( p->pPars->nSatVarMax &&
305 p->pMSat->nSatVars > p->pPars->nSatVarMax &&
306 p->nRecycleCalls > p->pPars->nRecycleCalls )
308 p->nVarsMax =
Abc_MaxInt( p->nVarsMax, p->pMSat->nSatVars );
309 p->nCallsMax =
Abc_MaxInt( p->nCallsMax, p->pMSat->nSolverCalls );
313 p->nRecycleCalls = 0;
320 if ( p->nPatterns > 0 )
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
static Aig_Obj_t * Aig_ObjRepr(Aig_Man_t *p, Aig_Obj_t *pObj)
ABC_NAMESPACE_IMPL_START Ssw_Sat_t * Ssw_SatStart(int fPolarFlip)
DECLARATIONS ///.
static Aig_Obj_t * Ssw_ObjChild0Fra(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)
int Ssw_ManSweepLatch(Ssw_Man_t *p)
static Aig_Obj_t * Saig_ObjLoToLi(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
Aig_Man_t * Aig_ManStart(int nNodesMax)
DECLARATIONS ///.
static int Aig_IsComplement(Aig_Obj_t *p)
static void Vec_PtrCleanSimInfo(Vec_Ptr_t *vInfo, int iWord, int nWords)
#define Aig_ManForEachCi(p, pObj, i)
ITERATORS ///.
static Aig_Obj_t * Aig_Regular(Aig_Obj_t *p)
Aig_Obj_t * Aig_ObjCreateCi(Aig_Man_t *p)
DECLARATIONS ///.
static Aig_Obj_t * Aig_ManConst0(Aig_Man_t *p)
void Ssw_ManBuildCone_rec(Ssw_Man_t *p, Aig_Obj_t *pObj)
void Ssw_SmlObjSetWord(Ssw_Sml_t *p, Aig_Obj_t *pObj, unsigned Word, int iWord, int iFrame)
typedefABC_NAMESPACE_HEADER_START struct Ssw_Man_t_ Ssw_Man_t
INCLUDES ///.
int Ssw_ClassesRefine(Ssw_Cla_t *p, int fRecursive)
static abctime Abc_Clock()
static int Abc_MaxInt(int a, int b)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int Vec_PtrSize(Vec_Ptr_t *p)
static int sat_solver_var_value(sat_solver *s, int v)
static Aig_Obj_t * Ssw_ObjChild1Fra(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)
Aig_Obj_t * Aig_And(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
void Ssw_ClassesRemoveNode(Ssw_Cla_t *p, Aig_Obj_t *pObj)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
static int Aig_ManCiNum(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
static int Aig_ObjIsConst1(Aig_Obj_t *pObj)
static int Aig_ObjPhaseReal(Aig_Obj_t *pObj)
#define Saig_ManForEachLo(p, pObj, i)
void Aig_ManSetCioIds(Aig_Man_t *p)
static int Aig_ManObjNumMax(Aig_Man_t *p)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
int Ssw_ManSweepResimulate(Ssw_Man_t *p)
static void * Vec_PtrEntry(Vec_Ptr_t *p, int i)
static void Abc_InfoSetBit(unsigned *p, int i)
void Ssw_SmlAddPattern(Ssw_Man_t *p, Aig_Obj_t *pRepr, Aig_Obj_t *pCand)
static Vec_Ptr_t * Vec_PtrAlloc(int nCap)
FUNCTION DEFINITIONS ///.
static void Ssw_ObjSetFrame(Ssw_Man_t *p, Aig_Obj_t *pObj, int i, Aig_Obj_t *pNode)
void Ssw_ClassesCollectClass(Ssw_Cla_t *p, Aig_Obj_t *pRepr, Vec_Ptr_t *vClass)
ABC_NAMESPACE_IMPL_START void Ssw_ManSweepTransfer(Ssw_Man_t *p)
DECLARATIONS ///.
static int Ssw_ObjIsConst1Cand(Aig_Man_t *pAig, Aig_Obj_t *pObj)
static int Ssw_ObjSatNum(Ssw_Sat_t *p, Aig_Obj_t *pObj)
MACRO DEFINITIONS ///.
int Ssw_NodesAreEquiv(Ssw_Man_t *p, Aig_Obj_t *pOld, Aig_Obj_t *pNew)
DECLARATIONS ///.
static Aig_Obj_t * Aig_NotCond(Aig_Obj_t *p, int c)
void Ssw_SatStop(Ssw_Sat_t *p)
#define Vec_PtrForEachEntry(Type, vVec, pEntry, i)
MACRO DEFINITIONS ///.
static int Aig_ObjIsCi(Aig_Obj_t *pObj)
void Ssw_SmlSimulateOneFrame(Ssw_Sml_t *p)
void Ssw_ManSweepLatchOne(Ssw_Man_t *p, Aig_Obj_t *pObjRepr, Aig_Obj_t *pObj)
int Ssw_ClassesRefineConst1(Ssw_Cla_t *p, int fRecursive)
static int Aig_ObjCioId(Aig_Obj_t *pObj)
static Vec_Ptr_t * Vec_PtrAllocSimInfo(int nEntries, int nWords)
void Ssw_SmlObjAssignConst(Ssw_Sml_t *p, Aig_Obj_t *pObj, int fConst1, int iFrame)
static void Vec_PtrFree(Vec_Ptr_t *p)
#define Saig_ManForEachPi(p, pObj, i)
static Aig_Obj_t * Ssw_ObjFrame(Ssw_Man_t *p, Aig_Obj_t *pObj, int i)