unmarkbddnode.3alc - Man Page

unmarks bdd node with a specified mask.

Synopsis

#include "bdd101.h"
long unmarkbddnode( BddSystem, BddNode, Mark )
  bddsystem ∗BddSystem;
  bddnode   ∗BddNode;
  bddunmark    Mark;

Parameters

BddSystem

The bdd system.

BddNode

The bdd node to unmark.

Mark

The bit mask.

Description

unmarkbddnode unmarks 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 AND with the field MARK of the bdd node BddNode, and the complemented bit mask Mark.

Return Value

unmarkbddnode returns the number of the different unmarked 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: %ld0, 
           markbddnode( (bddsystem ∗)0, BddNode, 0x0001 ) );
   unmarkbddnode( (bddsystem ∗)0, BddNode, 0x0001 );
   destroybddsystem( (bddsystem ∗)0 );
   destroybddcircuit( (bddcircuit ∗)0 );

See Also

bdd(1)

Info

October 1, 1997 ASIM/LIP6 BDD FUNCTIONS