58 *pCountA = *pCountM = 0;
61 vBoxIds = Vec_IntAlloc( 100 );
65 Vec_IntPush( vBoxIds, i ), (*pCountA)++;
67 Vec_IntPush( vBoxIds, i ), (*pCountM)++;
69 if ( Vec_IntSize( vBoxIds ) > 0 )
74 Vec_IntFree( vBoxIds );
92 if ( Wlc_ObjRange(pObj) != Wlc_ObjRange(pObj2) )
94 if ( Wlc_ObjIsSigned(pObj) != Wlc_ObjIsSigned(pObj2) )
96 if ( Wlc_ObjFaninNum(pObj) != Wlc_ObjFaninNum(pObj2) )
98 for ( k = 0; k < Wlc_ObjFaninNum(pObj); k++ )
100 pFanin = Wlc_ObjFanin(
p, pObj, k);
101 pFanin2 = Wlc_ObjFanin(
p, pObj2, k);
102 if ( Wlc_ObjRange(pFanin) != Wlc_ObjRange(pFanin2) )
104 if ( Wlc_ObjIsSigned(pFanin) != Wlc_ObjIsSigned(pFanin2) )
241 Vec_Int_t * vUifConstrs, * vCompares, * vFanins;
242 int i, k, iObj, iObj2, iObjNew, iObjNew2;
243 int iFanin, iFanin2, iFaninNew;
245 if ( vPairs == NULL )
247 if ( vPairs == NULL )
250 assert( Vec_IntSize(vPairs) > 0 && Vec_IntSize(vPairs) % 2 == 0 );
252 vFanins = Vec_IntAlloc( 100 );
253 vCompares = Vec_IntAlloc( 100 );
254 vUifConstrs = Vec_IntAlloc( 100 );
258 pObj = Wlc_NtkObj(
p, iObj );
259 pObj2 = Wlc_NtkObj(
p, iObj2 );
262 Vec_IntClear( vCompares );
265 iFanin2 = Wlc_ObjFaninId( pObj2, k );
266 Vec_IntFillTwo( vFanins, 2, iFanin, iFanin2 );
268 Vec_IntPush( vCompares, iFaninNew );
271 pObj = Wlc_NtkObj(
p, iObj );
276 Vec_IntFill( vFanins, 1, iObjNew );
279 Vec_IntFillTwo( vFanins, 2, iObj, iObj2 );
282 Vec_IntFillTwo( vFanins, 2, iObjNew, iObjNew2 );
285 Vec_IntPush( vUifConstrs, iObjNew );
288 assert( Vec_IntSize(vUifConstrs) > 0 );
289 if ( Vec_IntSize(vUifConstrs) == 1 )
290 iObjNew = Vec_IntEntry( vUifConstrs, 0 );
296 Vec_IntFill( vFanins, 1, iObjNew );
302 iObj = Wlc_ObjId(
p, pObj);
303 Vec_IntFillTwo( vFanins, 2, iObj, iObjNew );
307 pObj = Wlc_NtkObj(
p, iObj );
309 assert( Vec_IntEntry(&
p->vPos, i) == iObj );
310 assert( Vec_IntEntry(&
p->vCos, i) == iObj );
311 Vec_IntWriteEntry( &
p->vPos, i, iObjNew );
312 Vec_IntWriteEntry( &
p->vCos, i, iObjNew );
314 Wlc_NtkObj(
p, iObjNew)->fIsPo = 1;
319 Vec_IntFree( vUifConstrs );
320 Vec_IntFree( vCompares );
321 Vec_IntFree( vFanins );
322 if ( vPairs != vPairsInit )
323 Vec_IntFree( vPairs );
ABC_DLL void Abc_FrameSetBoxes(int *p)
int Wlc_ObjCreate(Wlc_Ntk_t *p, int Type, int Signed, int End, int Beg, Vec_Int_t *vFanins)