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

NAME

       applybddnode - applies an operator on two bdd nodes.

SYNOPSYS

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

PARAMETERS

       BddSystem           The bdd system.

       Oper                The binary operator.

       BddNode1            The first bdd node.

       BddNode2            The second bdd node.

DESCRIPTION

       applybddnode  computes  the  boolean  function  BddNode1  Oper  BddNode2 in the bdd system
       BddSystem.  If a null pointer is given, the default bdd system is used.

RETURN VALUE

       applybddnode returns a pointer to the resulting bdd  node  with  its  number  of  external
       reference incremented.

ERRORS

       "bad operator xxx error !"
              The Oper parameter must be a valid binary operator.

EXAMPLE

       #include "bdd101.h"
          bddsystem  ∗BddSystem;
          bddcircuit ∗BddCircuit;
          bddnode    ∗BddNode;
          chain_list ∗Expr;
          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
          addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
          addbddcircuitin( (bddcircuit ∗)0, "i1", 0, BDD_IN_MODE_FIRST );
          BddNode = applybddnode( (bddsystem ∗)0,
                                  ABL_AND,
                                  searchbddcircuitin( (bddcircuit ∗)0, "i0" ),
                                  searchbddcircuitin( (bddcircuit ∗)0, "i1" ) );
          Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
          /* displays (i0 and i1) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)