1RELPRODBDDNODEASSOC(3)           BDD FUNCTIONS          RELPRODBDDNODEASSOC(3)
2
3
4

NAME

6       relprodbddnodeassoc - computes a relational product.
7

SYNOPSIS

9       #include "bdd101.h"
10       bddnode ∗relprodbddnodeassoc( BddSystem, BddNode1, BddNode2, BddAssoc )
11         bddsystem ∗BddSystem;
12         bddnode   ∗BddNode1;
13         bddnode   ∗BddNode2;
14         bddassoc  ∗BddAssoc;
15

PARAMETERS

17       BddSystem           The bdd system.
18
19       BddNode1            The first bdd node.
20
21       BddNode2            The second bdd node.
22
23       BddAssoc            The variable association.
24

DESCRIPTION

26       relprodbddnodeassoc  computes  BddNode1  AND BddNode2, and suppress the
27       variables associated with something in the variable association  BddAs‐
28       soc,  in  the  bdd  system  BddSystem.  If a null pointer is given, the
29       default bdd system is used.
30

RETURN VALUE

32       relprodbddnodeassoc returns the computed bdd node.
33

ERRORS

35       "bad variable association xxx, error !"
36              The BddAssoc parameter must a valid variable association.
37

EXAMPLE

39       #include "bdd101.h"
40          bddsystem  ∗BddSystem;
41          bddcircuit ∗BddCircuit;
42          bddnode    ∗BddNode;
43          bddnode    ∗BddNode1;
44          bddnode    ∗BddNode2;
45          bddnode    ∗BddVariable;
46          bddassoc   ∗Assoc;
47          chain_list ∗Expr;
48          bddvar         Variable;
49          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
50          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
51          Expr = createablbinexpr( ABL_AND,
52                                   createablatom( "i0" ),
53                                   createablatom( "i1" ) );
54          BddNode1 = addbddcircuitabl( BddCircuit, Expr );
55          freeablexpr( Expr );
56          Expr = createablbinexpr( ABL_OR,
57                                   createablatom( "i0" ),
58                                   createablatom( "i1" ) );
59          BddNode2 = addbddcircuitabl( BddCircuit, Expr );
60          freeablexpr( Expr );
61          BddVariable = searchbddcircuitin( (bddcircuit ∗)0, "i0" );
62          Variable = getbddvarbyindex( (bddsystem ∗)0, BddVariable->INDEX );
63          Assoc = addbddassoc( (bddsystem ∗)0 );
64          addbddnodeassoc( (bddsystem ∗)0, Assoc, Variable, BddSystem->ONE );
65          BddNode = relprodbddnodeassoc( (bddsystem ∗)0, BddNode1, BddNode2, Assoc );
66          Expr = convertbddcircuitabl( BddCircuit, BddNode );
67          /* displays i1 */
68          viewablexpr( Expr, ABL_VIEW_VHDL );
69          freeablexpr( Expr );
70          destroybddassoc( (bddsystem ∗)0 );
71          destroybddsystem( (bddsystem ∗)0 );
72          destroybddcircuit( (bddcircuit ∗)0 );
73

SEE ALSO

75       bdd(1)
76
77
78
79
80
81
82ASIM/LIP6                       October 1, 1997         RELPRODBDDNODEASSOC(3)
Impressum