Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       cofactorbddnode - computes the generalized cofactor.

SYNOPSYS

       #include "bdd101.h"
       bddnode ∗cofactorbddnode( BddSystem, BddNode1, BddNode2 )
         bddsystem ∗BddSystem;
         bddnode   ∗BddNode1;
         bddnode   ∗BddNode2;

PARAMETERS

       BddSystem           The bdd system.

       BddNode1            The first bdd node.

       BddNode2            The second bdd node.

DESCRIPTION

       cofactorbddnode  computes  the  generalized  cofactor  of BddNode1 by BddNode2, in the bdd
       system BddSystem.  If a null pointer is given, the default bdd system is used.

RETURN VALUE

       cofactorbddnode returns the resulting bdd node.

ERRORS

       "index xxx out of range"
              The BddNode2 parameter must be different to the zero bdd node.

EXAMPLE

       #include "bdd101.h"
          bddsystem  ∗BddSystem;
          bddcircuit ∗BddCircuit;
          bddnode    ∗BddNode1;
          bddnode    ∗BddNode2;
          bddnode    ∗BddNode;
          chain_list ∗Expr;
          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
          Expr = createablbinexpr( ABL_OR,
                                   createablatom( "i0" ),
                                   createablatom( "i1" ) );
          BddNode1 = addbddcircuitabl( BddCircuit, Expr );
          freeablexpr( Expr );
          Expr = createablbinexpr( ABL_AND,
                                   createablatom( "i0" ),
                                   createablatom( "i1" ) );
          BddNode2 = addbddcircuitabl( BddCircuit, Expr );
          freeablexpr( Expr );
          BddNode = cofactorbddnode( (bddsystem ∗)0, BddNode1, BddNode2 );
          Expr = convertbddcircuitabl( BddCircuit, BddNode );
          /* displays '1' */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)