Provided by: alliance_5.1.1-1.1build1_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)