abc/src/aig/ivy/ivyUtil.c
/**Function*************************************************************

  Synopsis    [Computes truth table of the cut.]

  Description [Does not modify the array of leaves. Uses array vTruth to store 
  temporary truth tables. The returned pointer should be used immediately.]
               
  SideEffects []

  SeeAlso     []

***********************************************************************/
Function
Synopsis    [Computes truth table of the cut.]

Description [Does not modify the array of leaves. Uses array vTruth to store
temporary truth tables. The returned pointer should be used immediately.]




Function Synopsis [ Computes truth table of the cut . ] Description [ Does not modify the array of leaves . Uses array vTruth to store temporary truth tables . The returned pointer should be used immediately . ]
void Ivy_ManCollectCut( Ivy_Man_t * p, Ivy_Obj_t * pRoot, Vec_Int_t * vLeaves, Vec_Int_t * vNodes )
{
    int i, Leaf;
    Vec_IntClear( vNodes );
    Vec_IntForEachEntry( vLeaves, Leaf, i )
    {
        Vec_IntPush( vNodes, Leaf );
        Ivy_ManObj(p, Leaf)->fMarkA = 1;
    }
    Ivy_ManCollectCut_rec( p, pRoot, vNodes );
    Vec_IntForEachEntry( vNodes, Leaf, i )
        Ivy_ManObj(p, Leaf)->fMarkA = 0;
}
void Ivy_ManCollectCut ( Ivy_Man_t * p , Ivy_Obj_t * pRoot , Vec_Int_t * vLeaves , Vec_Int_t * vNodes ) { int i , Leaf ; Vec_IntClear ( vNodes ) ; Vec_IntForEachEntry ( vLeaves , Leaf , i ) { Vec_IntPush ( vNodes , Leaf ) ; Ivy_ManObj ( p , Leaf ) -> fMarkA = 1 ; } Ivy_ManCollectCut_rec ( p , pRoot , vNodes ) ; Vec_IntForEachEntry ( vNodes , Leaf , i ) Ivy_ManObj ( p , Leaf ) -> fMarkA = 0 ; }
Function
Synopsis    [Computes truth table of the cut.]
Function Synopsis [ Computes truth table of the cut . ]
// collect and mark the leaves // collect and mark the nodes // clean the nodes