isbddvarinsupport(3) tests if a variable appears in a bdd.

SYNOPSYS

#include "bdd101.h"
int isbddvarinsupport( BddSystem, BddNode, Variable )
  bddsystem *BddSystem;
  bddnode   *BddNode;
  bddvar     Variable;

PARAMETERS

BddSystem
The bdd system.
BddNode
The bdd node.
Variable
The variable number.

DESCRIPTION

isbddvarinsupport tests if the variable number Variable appears in the support of the bdd node BddNode, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.

RETURN VALUE

isbddvarinsupport returns 1 if Variable appears, 0 otherwise.

ERRORS

"variable xxx out of range, error !"
The Variable parameter must be less or equal to the BddSystem->NUMBER_VAR field.

EXAMPLE

#include "bdd101.h"
   bddsystem  *BddSystem;
   bddcircuit *BddCircuit;
   bddnode    *BddNode;
   bddnode    *BddVariable;
   chain_list *Expr;
   bddvar         Variable;
   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 );
   BddVariable = searchbddcircuitin( (bddcircuit *)0, "i0" );
   Variable = getbddvarbyindex( (bddsystem * 0), BddVariable->INDEX ) );
   /* displays 1 */
   printf( "%d", isbddvarinsupport( (bddsystem *)0, BddNode, Variable ) );
   destroybddsystem( (bddsystem *)0 );
   destroybddcircuit( (bddcircuit *)0 );