51 assert( p->pOrderData == NULL );
53 if ( p->nOrderAlloc < (1<<12) )
54 p->nOrderAlloc = (1<<12);
55 p->pOrderData =
ABC_ALLOC(
unsigned, 2 * p->nOrderAlloc );
56 memset( p->pOrderData, 0xFF,
sizeof(
unsigned) * 2 * p->nOrderAlloc );
58 p->pOrderData[0] = p->pOrderData[1] = 0;
59 p->iPrev = p->iNext = 0;
81 p->iPrev = p->iNext = 0;
100 if ( ObjId >= p->nOrderAlloc )
102 int nOrderAlloc = 2 * ObjId;
103 p->pOrderData =
ABC_REALLOC(
unsigned, p->pOrderData, 2 * nOrderAlloc );
104 memset( p->pOrderData + 2 * p->nOrderAlloc, 0xFF,
sizeof(
unsigned) * 2 * (nOrderAlloc - p->nOrderAlloc) );
105 p->nOrderAlloc = nOrderAlloc;
107 assert( p->pOrderData[2*ObjId] == 0xFFFFFFFF );
108 assert( p->pOrderData[2*ObjId+1] == 0xFFFFFFFF );
109 iPrev = p->pOrderData[2*p->iNext];
110 assert( p->pOrderData[2*iPrev+1] == (
unsigned)p->iNext );
111 p->pOrderData[2*ObjId] = iPrev;
112 p->pOrderData[2*iPrev+1] = ObjId;
113 p->pOrderData[2*p->iNext] = ObjId;
114 p->pOrderData[2*ObjId+1] = p->iNext;
135 iPrev = p->pOrderData[2*ObjId];
136 iNext = p->pOrderData[2*ObjId+1];
137 p->pOrderData[2*ObjId] = 0xFFFFFFFF;
138 p->pOrderData[2*ObjId+1] = 0xFFFFFFFF;
139 p->pOrderData[2*iNext] = iPrev;
140 p->pOrderData[2*iPrev+1] = iNext;
141 if ( p->iPrev == ObjId )
146 if ( p->iNext == ObjId )
165 assert( p->pOrderData[2*p->iPrev+1] == (
unsigned)p->iNext );
typedefABC_NAMESPACE_HEADER_START struct Aig_Man_t_ Aig_Man_t
INCLUDES ///.
#define ABC_REALLOC(type, obj, num)
void Aig_ObjOrderRemove(Aig_Man_t *p, int ObjId)
void Aig_ManOrderStop(Aig_Man_t *p)
#define ABC_ALLOC(type, num)
static Aig_Obj_t * Aig_ManObj(Aig_Man_t *p, int i)
static int Aig_ManBufNum(Aig_Man_t *p)
static int Aig_ObjIsNode(Aig_Obj_t *pObj)
#define Aig_ManForEachNode(p, pObj, i)
#define ABC_NAMESPACE_IMPL_END
ABC_NAMESPACE_IMPL_START void Aig_ManOrderStart(Aig_Man_t *p)
DECLARATIONS ///.
static int Aig_ManObjNumMax(Aig_Man_t *p)
#define ABC_NAMESPACE_IMPL_START
void Aig_ObjOrderInsert(Aig_Man_t *p, int ObjId)
void Aig_ObjOrderAdvance(Aig_Man_t *p)