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

FreeBSD Manual Pages

  
 
  

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

NAME
       relprodbddnodeassoc - computes a	relational product.

SYNOPSIS
       #include	"bdd101.h"
       bddnode *relprodbddnodeassoc( BddSystem,	BddNode1, BddNode2, BddAssoc )
	 bddsystem *BddSystem;
	 bddnode   *BddNode1;
	 bddnode   *BddNode2;
	 bddassoc  *BddAssoc;

PARAMETERS
       BddSystem	   The bdd system.

       BddNode1		   The first bdd node.

       BddNode2		   The second bdd node.

       BddAssoc		   The variable	association.

DESCRIPTION
       relprodbddnodeassoc  computes  BddNode1	AND BddNode2, and suppress the
       variables associated with something in the variable association	BddAs-
       soc,  in	the bdd	system BddSystem.  If a	null pointer is	given, the de-
       fault bdd system	is used.

RETURN VALUE
       relprodbddnodeassoc returns the computed	bdd node.

ERRORS
       "bad variable association xxx, error !"
	      The BddAssoc parameter must a valid variable association.

EXAMPLE
       #include	"bdd101.h"
	  bddsystem  *BddSystem;
	  bddcircuit *BddCircuit;
	  bddnode    *BddNode;
	  bddnode    *BddNode1;
	  bddnode    *BddNode2;
	  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" ) );
	  BddNode1 = addbddcircuitabl( BddCircuit, Expr	);
	  freeablexpr( Expr );
	  Expr = createablbinexpr( ABL_OR,
				   createablatom( "i0" ),
				   createablatom( "i1" ) );
	  BddNode2 = 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, BddSystem->ONE );
	  BddNode = relprodbddnodeassoc( (bddsystem *)0, BddNode1, BddNode2, Assoc );
	  Expr = convertbddcircuitabl( BddCircuit, BddNode );
	  /* displays 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		RELPRODBDDNODEASSOC(3)

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

home | help