Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
DELBDDNODEASSOC(3)		  BDD FUNCTIONS 	      DELBDDNODEASSOC(3)

NAME
     delbddnodeassoc - deletes a bdd node in a variable association.

SYNOPSIS
     #include "bdd101.h"
     int delbddnodeassoc( BddSystem, BddAssoc, Variable )
       bddsystem  *BddSystem;
       bddassoc   *BddAssoc;
       bddvar	   Variable;

PARAMETERS
     BddSystem		 The bdd system.

     BddAssoc		 The variable association.

     Variable		 The variable number.

DESCRIPTION
     delbddnodeassoc  deletes  the  bdd  node  associated to the variable number
     Variable, in the variable association BddAssoc, in the bdd  system  BddSys-
     tem.  If a null pointer is given, the default bdd system is used.	The num-
     ber of external reference of the associated bdd node is incremented.

RETURN VALUE
     delbddnodeassoc returns 1 if the variable is found, 0 otherwise.

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

EXAMPLE
     #include "bdd101.h"
	bddsystem  *BddSystem;
	bddcircuit *BddCircuit;
	bddnode    *BddNode;
	bddnode    *BddSubst;
	bddnode    *BddVariable;
	bddassoc   *Assoc;
	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 );
	Expr = createablbinexpr( ABL_OR,
				 createablatom( "i2" ),
				 createablatom( "i3" ) );
	BddSubst = addbddcircuitabl( BddCircuit, Expr );
	freeablexpr( Expr );
	BddVariable = searchbddcircuitin( (bddcircuit *)0, "i0" );
	Variable = getbddvarbyindex( (bddsystem *)0, BddVariable->INDEX );
	Assoc = addbddassoc( (bddsystem *)0 );
	addbddnodeassoc( (bddsystem *)0, Assoc, Variable, BddSubst );
	BddNode = substbddnodeassoc( (bddsystem *)0, BddSubst, Assoc );
	delbddnodeassoc( (bddsystem *)0, Assoc, Variable );
	Expr = convertbddcircuitabl( BddCircuit, BddNode );
	/* displays ((i3 or i2) and i1) */
	viewablexpr( Expr, ABL_VIEW_VHDL );
	freeablexpr( Expr );
	destroybddassoc( (bddsystem *)0 );
	destroybddsystem( (bddsystem *)0 );
	destroybddcircuit( (bddcircuit *)0 );

SEE ALSO
     bdd(1)

ASIM/LIP6			 October 1, 1997	      DELBDDNODEASSOC(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=delbddnodeassoc&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help