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

NAME

       applybddnodeterm - applies an operator on two bdd nodes.

SYNOPSYS

       #include "bdd101.h"
       bddnode ∗applybddnodeterm( BddSystem, Oper, Index, BddNode )
         bddsystem ∗BddSystem;
         long       Oper;
         bddindex   Index;
         bddnode   ∗BddNode;

PARAMETERS

       BddSystem           The bdd system.

       Oper                The binary operator.

       Index               The index of the terminal bdd node.

       BddNode             The bdd node.

DESCRIPTION

       applybddnodeterm  computes  the  boolean  function  BddNode  Oper  and  the  terminal node
       corresponding to Index in the bdd system BddSystem. The Index parameter can take only  the
       two  following  values  BDD_INDEX_ONE and BDD_INDEX_ZERO.  If a null pointer is given, the
       default bdd system is used.

RETURN VALUE

       applybddnodeterm 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 );
          BddNode = applybddnodeterm( (bddsystem ∗)0,
                                      ABL_XOR, BDD_INDEX_ONE,
                                      searchbddcircuitin( (bddcircuit ∗)0, "i0" ) );
          Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
          /* displays (not i0) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO

       bdd(1)