abc/src/bdd/cudd/cuddTable.c
/**Function********************************************************************

  Synopsis [Wrapper for cuddUniqueInter that is independent of variable
  ordering.]

  Description [Wrapper for cuddUniqueInter that is independent of
  variable ordering (IVO). This function does not require parameter
  index to precede the indices of the top nodes of T and E in the
  variable order.  Returns a pointer to the result node under normal
  conditions; NULL if reordering occurred or memory was exhausted.]

  SideEffects [None]

  SeeAlso     [cuddUniqueInter Cudd_MakeBddFromZddCover]

******************************************************************************/
Function
Synopsis [Wrapper for cuddUniqueInter that is independent of variable
ordering.]

Description [Wrapper for cuddUniqueInter that is independent of
variable ordering (IVO). This function does not require parameter
index to precede the indices of the top nodes of T and E in the
variable order.  Returns a pointer to the result node under normal
conditions; NULL if reordering occurred or memory was exhausted.]




Function Synopsis [ Wrapper for cuddUniqueInter that is independent of variable ordering . ] Description [ Wrapper for cuddUniqueInter that is independent of variable ordering ( IVO ) . This function does not require parameter index to precede the indices of the top nodes of T and E in the variable order . Returns a pointer to the result node under normal conditions ; NULL if reordering occurred or memory was exhausted . ]
DdNode *
cuddUniqueInterIVO(
  DdManager * unique,
  int  index,
  DdNode * T,
  DdNode * E)
{
    DdNode *result;
    DdNode *v;
    v = cuddUniqueInter(unique, index, DD_ONE(unique),
                        Cudd_Not(DD_ONE(unique)));
    if (v == NULL)
        return(NULL);
    cuddRef(v);
    result = cuddBddIteRecur(unique, v, T, E);
    Cudd_RecursiveDeref(unique, v);
    return(result);
}
DdNode * cuddUniqueInterIVO ( DdManager * unique , int index , DdNode * T , DdNode * E ) { DdNode * result ; DdNode * v ; v = cuddUniqueInter ( unique , index , DD_ONE ( unique ) , Cudd_Not ( DD_ONE ( unique ) ) ) ; if ( v == NULL ) return ( NULL ) ; cuddRef ( v ) ; result = cuddBddIteRecur ( unique , v , T , E ) ; Cudd_RecursiveDeref ( unique , v ) ; return ( result ) ; }
Function
Synopsis [Wrapper for cuddUniqueInter that is independent of variable
ordering.]
Function Synopsis [ Wrapper for cuddUniqueInter that is independent of variable ordering . ]