markbddnode(3) marks bdd node with a specified mask.

SYNOPSYS

#include "bdd101.h"
long markbddnode( BddSystem, BddNode, Mark )
  bddsystem *BddSystem;
  bddnode   *BddNode;
  bddmark    Mark;

PARAMETERS

BddSystem
The bdd system.
BddNode
The bdd node to mark.
Mark
The bit mask.

DESCRIPTION

markbddnode marks the bdd node BddNode with the bit mask Mark, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used. This function does a OR with the field MARK of the bdd node BddNode, and the bit mask Mark.

RETURN VALUE

markbddnode returns the number of the differents marked nodes.

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 );
   Expr = createablbinexpr( ABL_AND,
                            createablatom( "i0" ),
                            createablatom( "i1" ) );
   BddNode = addbddcircuitabl( BddCircuit, Expr );
   freeablexpr( Expr );
   printf( "Number nodes: %ld, 
           markbddnode( (bddsystem *)0, BddNode, 0x0001 ) );
   unmarkbddnode( (bddsystem *)0, BddNode, 0x0001 );
   destroybddsystem( (bddsystem *)0 );
   destroybddcircuit( (bddcircuit *)0 );