38 return Key % TableSize;
47 for ( ppEntry = p->pTable +
Aig_Hash(pObj, p->nTableSize); *ppEntry; ppEntry = &(*ppEntry)->
pNext )
48 if ( *ppEntry == pObj )
50 assert( *ppEntry == NULL );
75 assert( p->pTable != NULL );
78 pTableOld = p->pTable;
79 nTableSizeOld = p->nTableSize;
86 for ( i = 0; i < nTableSizeOld; i++ )
87 for ( pEntry = pTableOld[i], pNext = pEntry? pEntry->
pNext : NULL;
88 pEntry; pEntry = pNext, pNext = pEntry? pEntry->
pNext : NULL )
92 assert( *ppPlace == NULL );
125 for ( pEntry = p->pTable[
Aig_Hash(pGhost, p->nTableSize)]; pEntry; pEntry = pEntry->
pNext )
150 if ( pFanin0 == pFanin1 )
152 if ( pFanin0 ==
Aig_Not(pFanin1) )
181 assert( *ppPlace == NULL );
201 assert( *ppPlace == pObj );
203 *ppPlace = pObj->
pNext;
222 for ( i = 0; i < p->nTableSize; i++ )
223 for ( pEntry = p->pTable[i]; pEntry; pEntry = pEntry->
pNext )
243 printf(
"Table size = %d. Entries = %d.\n", p->nTableSize,
Aig_ManNodeNum(p) );
244 for ( i = 0; i < p->nTableSize; i++ )
247 for ( pEntry = p->pTable[i]; pEntry; pEntry = pEntry->
pNext )
250 printf(
"%d ", Counter );
static int Abc_PrimeCudd(unsigned int p)
void Aig_TableProfile(Aig_Man_t *p)
static Aig_Type_t Aig_ObjType(Aig_Obj_t *pObj)
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
static Aig_Obj_t * Aig_ObjChild0(Aig_Obj_t *pObj)
void Aig_TableResize(Aig_Man_t *p)
FUNCTION DEFINITIONS ///.
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)
static Aig_Obj_t * Aig_ManConst0(Aig_Man_t *p)
#define ABC_ALLOC(type, num)
int Aig_TableCountEntries(Aig_Man_t *p)
static Aig_Obj_t * Aig_Not(Aig_Obj_t *p)
static abctime Abc_Clock()
static Aig_Obj_t * Aig_ObjFanin1(Aig_Obj_t *pObj)
static int Aig_ManNodeNum(Aig_Man_t *p)
static ABC_NAMESPACE_IMPL_START unsigned long Aig_Hash(Aig_Obj_t *pObj, int TableSize)
DECLARATIONS ///.
void Aig_TableClear(Aig_Man_t *p)
Aig_Obj_t * Aig_TableLookupTwo(Aig_Man_t *p, Aig_Obj_t *pFanin0, Aig_Obj_t *pFanin1)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_END
static Aig_Obj_t * Aig_ObjChild1(Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ObjCreateGhost(Aig_Man_t *p, Aig_Obj_t *p0, Aig_Obj_t *p1, Aig_Type_t Type)
static int Aig_ObjFaninC0(Aig_Obj_t *pObj)
void Aig_TableInsert(Aig_Man_t *p, Aig_Obj_t *pObj)
static Aig_Obj_t * Aig_ManConst1(Aig_Man_t *p)
static int Aig_ObjIsExor(Aig_Obj_t *pObj)
#define ABC_NAMESPACE_IMPL_START
void Aig_TableDelete(Aig_Man_t *p, Aig_Obj_t *pObj)
static int Aig_ObjFaninC1(Aig_Obj_t *pObj)
Aig_Obj_t * Aig_TableLookup(Aig_Man_t *p, Aig_Obj_t *pGhost)
static int Aig_ObjRefs(Aig_Obj_t *pObj)
static Aig_Obj_t ** Aig_TableFind(Aig_Man_t *p, Aig_Obj_t *pObj)