48 assert( p->pReprs == NULL );
49 p->nReprsAlloc = nIdMax;
67 assert( p->pReprs != NULL );
85 assert( p->pReprs != NULL );
88 assert( pNode1->
Id < p->nReprsAlloc );
89 assert( pNode2->
Id < p->nReprsAlloc );
91 p->pReprs[pNode2->
Id] = pNode1;
107 assert( p->pReprs != NULL );
110 assert( pNode1->
Id < p->nReprsAlloc );
111 assert( pNode2->
Id < p->nReprsAlloc );
112 if ( pNode1 == pNode2 )
114 if ( pNode1->
Id < pNode2->
Id )
115 p->pReprs[pNode2->
Id] = pNode1;
117 p->pReprs[pNode1->
Id] = pNode2;
133 assert( p->pReprs != NULL );
135 assert( pNode->
Id < p->nReprsAlloc );
137 return p->pReprs[pNode->
Id];
153 assert( p->pReprs != NULL );
155 assert( pNode->
Id < p->nReprsAlloc );
156 p->pReprs[pNode->
Id] = NULL;
215 assert( pNew->pReprs != NULL );
221 memset( pNew->pReprs + pNew->nReprsAlloc, 0,
sizeof(
Aig_Obj_t *) * (nReprsAllocNew-pNew->nReprsAlloc) );
222 pNew->nReprsAlloc = nReprsAllocNew;
276 pNew->nConstrs = p->nConstrs;
277 pNew->nBarBufs = p->nBarBufs;
308 printf(
"Aig_ManDupRepr: Check has failed.\n" );
328 assert( p->pReprs != NULL );
362 nFanouts += (pObj->
nRefs > 0);
382 if ( p->pReprs == NULL )
385 Counter += (p->pReprs[i] != NULL);
458 assert( p->pReprs != NULL );
485 assert( p->pReprs != NULL );
487 assert( p->pEquivs == NULL );
510 if ( pObj->
nRefs > 0 )
516 p->pEquivs[pObj->
Id] = p->pEquivs[pRepr->
Id];
517 p->pEquivs[pRepr->
Id] = pObj;
538 if ( pPart->pReprs ) {
541 if ( pPart->pReprs[pObj->
Id] == NULL )
546 Aig_ManObj(pAig, pMapBack[pPart->pReprs[pObj->
Id]->Id]) );
Aig_Obj_t * Aig_ObjCreateCo(Aig_Man_t *p, Aig_Obj_t *pDriver)
ABC_DLL int Aig_ManCheck(Aig_Man_t *p)
FUNCTION DECLARATIONS ///.
void Aig_ObjCreateRepr(Aig_Man_t *p, Aig_Obj_t *pNode1, Aig_Obj_t *pNode2)
Aig_Man_t * Aig_ManRehash(Aig_Man_t *p)
static Vec_Int_t * Vec_IntDup(Vec_Int_t *pVec)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
void Aig_ManStop(Aig_Man_t *p)
int Aig_ManSeqCleanupBasic(Aig_Man_t *p)
static int Aig_ObjIsTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
#define ABC_REALLOC(type, obj, num)
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)
#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 ///.
#define Aig_ManForEachCo(p, pObj, i)
#define ABC_ALLOC(type, num)
static Aig_Obj_t * Aig_ManObj(Aig_Man_t *p, int i)
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static void Aig_ObjSetTravIdCurrent(Aig_Man_t *p, Aig_Obj_t *pObj)
int Aig_ObjCheckTfi(Aig_Man_t *p, Aig_Obj_t *pNew, Aig_Obj_t *pOld)
Aig_Obj_t * Aig_And(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1)
int Aig_ManCountReprs(Aig_Man_t *p)
void Aig_ManIncrementTravId(Aig_Man_t *p)
DECLARATIONS ///.
static int Aig_ManBufNum(Aig_Man_t *p)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
#define Aig_ManForEachNode(p, pObj, i)
Aig_Man_t * Aig_ManDupReprBasic(Aig_Man_t *p)
void Aig_ManSetRegNum(Aig_Man_t *p, int nRegs)
static int Aig_ObjIsNone(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjFindRepr(Aig_Man_t *p, Aig_Obj_t *pNode)
void Aig_ManTransferRepr(Aig_Man_t *pNew, Aig_Man_t *pOld)
#define ABC_NAMESPACE_IMPL_END
static Aig_Obj_t * Aig_ObjEquiv(Aig_Man_t *p, Aig_Obj_t *pObj)
void Aig_ManMarkValidChoices(Aig_Man_t *p)
static void Aig_ObjClearRepr(Aig_Man_t *p, Aig_Obj_t *pNode)
Aig_Man_t * Aig_ManDupRepr(Aig_Man_t *p, int fOrdered)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
static int Aig_ManObjNumMax(Aig_Man_t *p)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
Aig_Obj_t * Aig_ManDupRepr_rec(Aig_Man_t *pNew, Aig_Man_t *p, Aig_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_START
static Aig_Obj_t * Aig_ObjFindReprTransitive(Aig_Man_t *p, Aig_Obj_t *pNode)
void Aig_ManReprStop(Aig_Man_t *p)
static int Aig_ManRegNum(Aig_Man_t *p)
static Aig_Obj_t * Aig_ObjChild1Repr(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjGetRepr(Aig_Man_t *p, Aig_Obj_t *pObj)
#define Aig_ManForEachObj(p, pObj, i)
int Aig_ManRemapRepr(Aig_Man_t *p)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
static void Aig_ObjSetRepr_(Aig_Man_t *p, Aig_Obj_t *pNode1, Aig_Obj_t *pNode2)
ABC_NAMESPACE_IMPL_START void Aig_ManReprStart(Aig_Man_t *p, int nIdMax)
DECLARATIONS ///.
static Aig_Obj_t * Aig_NotCond(Aig_Obj_t *p, int c)
static int Aig_ObjIsCi(Aig_Obj_t *pObj)
char * Abc_UtilStrsav(char *s)
void Aig_ManCleanData(Aig_Man_t *p)
int Aig_TransferMappedClasses(Aig_Man_t *pAig, Aig_Man_t *pPart, int *pMapBack)
int Aig_ObjCheckTfi_rec(Aig_Man_t *p, Aig_Obj_t *pNode, Aig_Obj_t *pOld)
static Aig_Obj_t * Aig_ObjChild0Repr(Aig_Man_t *p, Aig_Obj_t *pObj)