47 Gia_Obj_t * pObj = Gia_ManObj( pGia, iObj );
48 if ( Gia_ObjIsTravIdCurrent(pGia, pObj) )
50 Gia_ObjSetTravIdCurrent(pGia, pObj);
51 if ( !Gia_ObjIsAnd(pObj) || !Gia_ObjIsXor(pObj) || Gia_ObjRefNum(pGia, pObj) > 1 )
55 Vec_IntPushUnique( vXors, iObj );
60 Gia_Obj_t * pObj = Gia_ManCo( pGia, Gia_ManCoNum(pGia)-1 );
65 Vec_IntReverseOrder( vXors );
71 int i, iDriver, Count = 0;
73 if ( pGia->
pMuxes == NULL )
75 printf(
"AIG does not have XORs extracted.\n" );
81 Vec_IntClear( vXors );
86 printf(
"%d=%d ", i, Vec_IntSize(vXors) );
87 Count += Vec_IntSize(vXors);
89 printf(
"Total = %d.\n", Count );
109 for ( i = 45; i < 52; i++ )
110 Vec_IntPush( vTops, Gia_ObjId(
p, Gia_ObjFanin0(Gia_ManCo(
p, i)) ) );
112 Vec_IntFree( vTops );
#define ABC_NAMESPACE_IMPL_START
#define ABC_NAMESPACE_IMPL_END
Vec_Int_t * Gia_PolynCollectLastXor(Gia_Man_t *pGia, int fVerbose)
Gia_Man_t * Gia_ManDupTopMostRange(Gia_Man_t *p)
ABC_NAMESPACE_IMPL_START void Gia_PolynCollectXors_rec(Gia_Man_t *pGia, int iObj, Vec_Int_t *vXors)
DECLARATIONS ///.
void Gia_PolynAnalyzeXors(Gia_Man_t *pGia, int fVerbose)
typedefABC_NAMESPACE_IMPL_START struct Vec_Int_t_ Vec_Int_t
DECLARATIONS ///.
#define Gia_ManForEachCoDriverId(p, DriverId, i)
struct Gia_Obj_t_ Gia_Obj_t
Gia_Man_t * Gia_ManDupAndConesLimit(Gia_Man_t *p, int *pAnds, int nAnds, int Level)
struct Gia_Man_t_ Gia_Man_t
void Gia_ManCreateRefs(Gia_Man_t *p)
void Gia_ManIncrementTravId(Gia_Man_t *p)