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

  
 
  

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 vari-
     ables associated with something in the variable  association  BddAssoc,  in
     the bdd system BddSystem.	If a null pointer is given, the default bdd sys-
     tem 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.1.quarterly>

home | help