applybddnodelist.3alc - Man Page

applies an opertor to a bdd nodes list.

Synopsis

#include "bdd101.h"
bddnode ∗applybddnodelist( BddSystem, Oper, BddList )
  bddsystem  ∗BddSystem;
  long        Oper;
  chain_list ∗BddList;

Parameters

BddSystem

The bdd system.

Oper

The operator.

BddList

The bdd nodes list.

Description

applybddnodelist applies the boolean operator Oper to the bdd nodes list BddList in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.

Return Value

applybddnodelist 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.

"bad list !"

The BddList parameter must be a valid list.

Example

#include "bdd101.h"
   bddsystem  ∗BddSystem;
   bddcircuit ∗BddCircuit;
   bddnode    ∗BddNode;
   chain_list ∗BddList;
   chain_list ∗Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   BddList    = (chain_list ∗)0;
   BddList = addbddnodelist( (bddsystem ∗)0, BddList, 
                             addbddcircuitin( (bddcircuit ∗)0,
                                              "i0", 0, BDD_IN_MODE_FIRST ) );
   BddList = addbddnodelist( (bddsystem ∗)0, BddList, 
                              addbddcircuitin( (bddcircuit ∗)0,
                                               "i1", 0, BDD_IN_MODE_FIRST );
   BddList = addbddnodelist( (bddsystem ∗)0, BddList,
                             addbddcircuitin( (bddcircuit ∗)0,
                                              "i2", 0, BDD_IN_MODE_FIRST );
   BddNode = applybddnodelist( (bddsystem ∗)0, ABL_AND, BddList );
   Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
   /* displays (i0 and i1 and i2) */
   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