49 int pLits[4], RetValue, VarF, VarI, VarT, VarE, fCompT, fCompE;
51 assert( !Aig_IsComplement( pNode ) );
56 VarF = Fra_ObjSatNum(pNode);
57 VarI = Fra_ObjSatNum(pNodeI);
58 VarT = Fra_ObjSatNum(Aig_Regular(pNodeT));
59 VarE = Fra_ObjSatNum(Aig_Regular(pNodeE));
61 fCompT = Aig_IsComplement(pNodeT);
62 fCompE = Aig_IsComplement(pNodeE);
72 pLits[0] = toLitCond(VarI, 1);
73 pLits[1] = toLitCond(VarT, 1^fCompT);
74 pLits[2] = toLitCond(VarF, 0);
77 pLits[0] = toLitCond(VarI, 1);
78 pLits[1] = toLitCond(VarT, 0^fCompT);
79 pLits[2] = toLitCond(VarF, 1);
82 pLits[0] = toLitCond(VarI, 0);
83 pLits[1] = toLitCond(VarE, 1^fCompE);
84 pLits[2] = toLitCond(VarF, 0);
87 pLits[0] = toLitCond(VarI, 0);
88 pLits[1] = toLitCond(VarE, 0^fCompE);
89 pLits[2] = toLitCond(VarF, 1);
106 pLits[0] = toLitCond(VarT, 0^fCompT);
107 pLits[1] = toLitCond(VarE, 0^fCompE);
108 pLits[2] = toLitCond(VarF, 1);
111 pLits[0] = toLitCond(VarT, 1^fCompT);
112 pLits[1] = toLitCond(VarE, 1^fCompE);
113 pLits[2] = toLitCond(VarF, 0);
132 int * pLits, nLits, RetValue, i;
133 assert( !Aig_IsComplement(pNode) );
134 assert( Aig_ObjIsNode( pNode ) );
136 nLits = Vec_PtrSize(vSuper) + 1;
142 pLits[0] = toLitCond(Fra_ObjSatNum(Aig_Regular(pFanin)), Aig_IsComplement(pFanin));
143 pLits[1] = toLitCond(Fra_ObjSatNum(pNode), 1);
149 pLits[i] = toLitCond(Fra_ObjSatNum(Aig_Regular(pFanin)), !Aig_IsComplement(pFanin));
150 pLits[nLits-1] = toLitCond(Fra_ObjSatNum(pNode), 0);
242 int i, k, fUseMuxes = 1;
245 if ( (!pOld || Fra_ObjFaninVec(pOld)) && (!pNew || Fra_ObjFaninVec(pNew)) )
248 vFrontier = Vec_PtrAlloc( 100 );
255 assert( Fra_ObjSatNum(pNode) );
256 assert( Fra_ObjFaninVec(pNode) == NULL );
259 vFanins = Vec_PtrAlloc( 4 );
260 Vec_PtrPushUnique( vFanins, Aig_ObjFanin0( Aig_ObjFanin0(pNode) ) );
261 Vec_PtrPushUnique( vFanins, Aig_ObjFanin0( Aig_ObjFanin1(pNode) ) );
262 Vec_PtrPushUnique( vFanins, Aig_ObjFanin1( Aig_ObjFanin0(pNode) ) );
263 Vec_PtrPushUnique( vFanins, Aig_ObjFanin1( Aig_ObjFanin1(pNode) ) );
275 assert( Vec_PtrSize(vFanins) > 1 );
276 Fra_ObjSetFaninVec( pNode, vFanins );
278 Vec_PtrFree( vFrontier );