35 if ( pFanout == NULL )
48 if ( pFanout == NULL )
109 #define Ivy_ObjForEachFanoutInt( pObj, pFanout ) \
110 for ( pFanout = (pObj)->pFanout; pFanout; \
111 pFanout = Ivy_ObjNextFanout(pObj, pFanout) )
114 #define Ivy_ObjForEachFanoutIntSafe( pObj, pFanout, pFanout2 ) \
115 for ( pFanout = (pObj)->pFanout, \
116 pFanout2 = Ivy_ObjNextFanout(pObj, pFanout); \
118 pFanout = pFanout2, \
119 pFanout2 = Ivy_ObjNextFanout(pObj, pFanout) )
207 Ivy_Obj_t ** ppPlace1, ** ppPlace2, ** ppPlaceN;
212 assert( *ppPlaceN == pFanout );
214 *ppPlaceN = *ppPlace1;
218 assert( ppPlaceN == NULL || *ppPlaceN == pFanout );
220 *ppPlaceN = *ppPlace2;
241 assert( *ppPlace == pFanoutOld );
243 *ppPlace = pFanoutNew;
245 assert( ppPlace == NULL || *ppPlace == pFanoutOld );
247 *ppPlace = pFanoutNew;
Ivy_Obj_t * Ivy_ObjReadFirstFanout(Ivy_Man_t *p, Ivy_Obj_t *pObj)
static int Ivy_IsComplement(Ivy_Obj_t *p)
typedefABC_NAMESPACE_HEADER_START struct Vec_Ptr_t_ Vec_Ptr_t
INCLUDES ///.
void Ivy_ObjDeleteFanout(Ivy_Man_t *p, Ivy_Obj_t *pFanin, Ivy_Obj_t *pFanout)
void Ivy_ObjCollectFanouts(Ivy_Man_t *p, Ivy_Obj_t *pObj, Vec_Ptr_t *vArray)
#define Ivy_ObjForEachFanoutInt(pObj, pFanout)
static void Vec_PtrPush(Vec_Ptr_t *p, void *Entry)
static Ivy_Obj_t * Ivy_ObjFanin1(Ivy_Obj_t *pObj)
void Ivy_ManStartFanout(Ivy_Man_t *p)
FUNCTION DEFINITIONS ///.
static Ivy_Obj_t * Ivy_ObjFanin0(Ivy_Obj_t *pObj)
static Ivy_Obj_t ** Ivy_ObjNextPrevFanoutPlace(Ivy_Obj_t *pObj, Ivy_Obj_t *pFanout)
void Ivy_ManStopFanout(Ivy_Man_t *p)
#define ABC_NAMESPACE_IMPL_END
void Ivy_ObjPatchFanout(Ivy_Man_t *p, Ivy_Obj_t *pFanin, Ivy_Obj_t *pFanoutOld, Ivy_Obj_t *pFanoutNew)
typedefABC_NAMESPACE_HEADER_START struct Ivy_Man_t_ Ivy_Man_t
INCLUDES ///.
#define ABC_NAMESPACE_IMPL_START
int Ivy_ObjFanoutNum(Ivy_Man_t *p, Ivy_Obj_t *pObj)
static Ivy_Obj_t ** Ivy_ObjPrevNextFanoutPlace(Ivy_Obj_t *pObj, Ivy_Obj_t *pFanout)
void Ivy_ObjAddFanout(Ivy_Man_t *p, Ivy_Obj_t *pFanin, Ivy_Obj_t *pFanout)
static Ivy_Obj_t * Ivy_ObjPrevFanout(Ivy_Obj_t *pObj, Ivy_Obj_t *pFanout)
static void Vec_PtrClear(Vec_Ptr_t *p)
static Ivy_Obj_t ** Ivy_ObjNextFanoutPlace(Ivy_Obj_t *pObj, Ivy_Obj_t *pFanout)
static ABC_NAMESPACE_IMPL_START Ivy_Obj_t * Ivy_ObjNextFanout(Ivy_Obj_t *pObj, Ivy_Obj_t *pFanout)
DECLARATIONS ///.
#define Ivy_ManForEachObj(p, pObj, i)
static Ivy_Obj_t ** Ivy_ObjPrevFanoutPlace(Ivy_Obj_t *pObj, Ivy_Obj_t *pFanout)