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

FreeBSD Manual Pages

  
 
  

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

NAME
       addbddnodeassoc - adds a	bdd node in  a variable	association.

SYNOPSYS
       #include	"bdd101.h"
       bddassoc	*addbddnodeassoc( BddSystem, BddAssoc, Variable, BddNode )
	 bddsystem  *BddSystem;
	 bddassoc   *BddAssoc;
	 bddvar	     Variable;
	 bddnode    *BddNode;

PARAMETERS
       BddSystem	   The bdd system.

       BddAssoc		   The variable	association.

       Variable		   The variable	number.

       BddNode		   The bdd node	to add.

DESCRIPTION
       addbddnodeassoc	adds  the bdd node BddNode, associated to the variable
       number Variable,	in the variable	association BddAssoc, in the bdd  sys-
       tem  BddSystem.	 If a null pointer is given, the default bdd system is
       used.  The number of external reference of BddNode is incremented.

RETURN VALUE
       addbddnodeassoc returns a pointer to the	variable association.

ERRORS
       "variable xxx out of range, error !"
	      The Variable parameter must be less  or  equal  to  the  BddSys-
	      tem-_NUMBER_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 );
	  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		    ADDBDDNODEASSOC(3)

NAME | SYNOPSYS | PARAMETERS | DESCRIPTION | RETURN VALUE | ERRORS | EXAMPLE | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=addbddnodeassoc&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help