delbddnode.3alc - Man Page

deletes an unused bdd node.

Synopsis

#include "bdd101.h"
void delbddnode( BddSystem, BddNode )
  bddsystem ∗BddSystem;
  bddnode   ∗BddNode;

Parameters

BddSystem

The bdd system.

BddNode

The bdd node.

Description

delbddnode tries to delete the bdd node BddNode and its children, if they have not external reference, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used. The use of this function is not recommended because, it takes time. It is better to call the decbddrefext function, and do a garbage collection with the garbagebddsystem function.

Return Value

delbddnode returns nothing.

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 );
   BddNode = addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
   BddNode = addbddnode( (bddsystem ∗)0, BddNode->INDEX, BddNode->LOW, BddNode->HIGH );
   Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
   delbddnode( (bddsystem ∗)0, decbddrefext( BddNode ) );
   /* displays (not i0) */
   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