1APPLYBDDNODE(3) BDD FUNCTIONS APPLYBDDNODE(3)
2
3
4
6 applybddnode - applies an operator on two bdd nodes.
7
9 #include "bdd101.h"
10 bddnode ∗applybddnode( BddSystem, Oper, BddNode1, BddNode2 )
11 bddsystem ∗BddSystem;
12 long Oper;
13 bddnode ∗BddNode1;
14 bddnode ∗BddNode2;
15
17 BddSystem The bdd system.
18
19 Oper The binary operator.
20
21 BddNode1 The first bdd node.
22
23 BddNode2 The second bdd node.
24
26 applybddnode computes the boolean function BddNode1 Oper BddNode2 in
27 the bdd system BddSystem. If a null pointer is given, the default bdd
28 system is used.
29
31 applybddnode returns a pointer to the resulting bdd node with its num‐
32 ber of external reference incremented.
33
35 "bad operator xxx error !"
36 The Oper parameter must be a valid binary operator.
37
39 #include "bdd101.h"
40 bddsystem ∗BddSystem;
41 bddcircuit ∗BddCircuit;
42 bddnode ∗BddNode;
43 chain_list ∗Expr;
44 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
45 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
46 addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
47 addbddcircuitin( (bddcircuit ∗)0, "i1", 0, BDD_IN_MODE_FIRST );
48 BddNode = applybddnode( (bddsystem ∗)0,
49 ABL_AND,
50 searchbddcircuitin( (bddcircuit ∗)0, "i0" ),
51 searchbddcircuitin( (bddcircuit ∗)0, "i1" ) );
52 Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
53 /* displays (i0 and i1) */
54 viewablexpr( Expr, ABL_VIEW_VHDL );
55 freeablexpr( Expr );
56 destroybddsystem( (bddsystem ∗)0 );
57 destroybddcircuit( (bddcircuit ∗)0 );
58
60 bdd(1)
61
62
63
64
65
66
67ASIM/LIP6 October 1, 1997 APPLYBDDNODE(3)