47 int iFan0, iFan1, iTemp;
57 if ( --p->pRefs[iFan0] == 0 )
60 if ( --p->pRefs[iFan1] == 0 )
63 if ( p->pAig->pEquivs )
66 else if ( Aig_ObjIsPo(pObj) )
70 if ( --p->pRefs[iFan0] == 0 )
81 iTemp = iFan0, iFan0 = iFan1, iFan1 = iTemp;
82 p->pFans0[p->nObjs] = iFan0;
83 p->pFans1[p->nObjs] = iFan1;
85 if ( p->pRefs[p->nObjs] )
86 if ( p->nCrossCutMax < ++p->nCrossCut )
87 p->nCrossCutMax = p->nCrossCut;
88 return pObj->
iData = p->nObjs++;
113 p->nCis = Aig_ManPiNum(pAig);
114 p->nCos = Aig_ManPoNum(pAig);
116 nObjs = p->nCis + p->nCos + p->nNodes + 2;
122 p->pFans0[0] = p->pFans1[0] = 0;
123 p->pFans0[1] = p->pFans1[1] = 0;
131 Aig_ManForEachPi( pAig, pObj, i )
134 Aig_ManForEachPo( pAig, pObj, i )
137 assert( p->nObjs == nObjs );
139 assert( p->nCrossCut == 0 );
154 p->nFront = 1 + (int)(1.1 * p->nCrossCutMax);
static int Saig_ManPoNum(Aig_Man_t *p)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
static Aig_Obj_t * Aig_ObjFanin0(Aig_Obj_t *pObj)
static int Aig_IsComplement(Aig_Obj_t *p)
void Fsim_ManFront(Fsim_Man_t *p, int fCompressAig)
FUNCTION DECLARATIONS ///.
#define ABC_ALLOC(type, num)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int Aig_ManNodeNum(Aig_Man_t *p)
ABC_NAMESPACE_IMPL_START int Fsim_ManCreate_rec(Fsim_Man_t *p, Aig_Obj_t *pObj)
DECLARATIONS ///.
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
static int Fsim_Var2Lit(int Var, int fCompl)
MACRO DEFINITIONS ///.
static Vec_Int_t * Vec_IntAlloc(int nCap)
FUNCTION DEFINITIONS ///.
#define Saig_ManForEachLi(p, pObj, i)
typedefABC_NAMESPACE_HEADER_START struct Fsim_Man_t_ Fsim_Man_t
INCLUDES ///.
Fsim_Man_t * Fsim_ManCreate(Aig_Man_t *pAig)
#define ABC_NAMESPACE_IMPL_END
static int Aig_ObjIsConst1(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjEquiv(Aig_Man_t *p, Aig_Obj_t *pObj)
static void Vec_IntPush(Vec_Int_t *p, int Entry)
#define Saig_ManForEachLo(p, pObj, i)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
static int Aig_ManRegNum(Aig_Man_t *p)
void Fsim_ManTest(Aig_Man_t *pAig)
static int Vec_IntSize(Vec_Int_t *p)
#define Aig_ManForEachObj(p, pObj, i)
static int Saig_ManPiNum(Aig_Man_t *p)
MACRO DEFINITIONS ///.
void Fsim_ManDelete(Fsim_Man_t *p)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
static int Aig_ObjRefs(Aig_Obj_t *pObj)
static void Vec_IntFree(Vec_Int_t *p)
void Aig_ManCleanData(Aig_Man_t *p)