applybddnode.3alc man page

applybddnode — applies an operator on two bdd nodes.

Synopsis

#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)

Info

October 1, 1997 ASIM/LIP6 BDD FUNCTIONS