1APPLYBDDNODETERM(3) BDD FUNCTIONS APPLYBDDNODETERM(3)
2
3
4
6 applybddnodeterm - applies an operator on two bdd nodes.
7
9 #include "bdd101.h"
10 bddnode ∗applybddnodeterm( BddSystem, Oper, Index, BddNode )
11 bddsystem ∗BddSystem;
12 long Oper;
13 bddindex Index;
14 bddnode ∗BddNode;
15
17 BddSystem The bdd system.
18
19 Oper The binary operator.
20
21 Index The index of the terminal bdd node.
22
23 BddNode The bdd node.
24
26 applybddnodeterm computes the boolean function BddNode Oper and the
27 terminal node corresponding to Index in the bdd system BddSystem. The
28 Index parameter can take only the two following values BDD_INDEX_ONE
29 and BDD_INDEX_ZERO. If a null pointer is given, the default bdd system
30 is used.
31
33 applybddnodeterm returns a pointer to the resulting bdd node with its
34 number of external reference incremented.
35
37 "bad operator xxx error !"
38 The Oper parameter must be a valid binary operator.
39
41 #include "bdd101.h"
42 bddsystem ∗BddSystem;
43 bddcircuit ∗BddCircuit;
44 bddnode ∗BddNode;
45 chain_list ∗Expr;
46 BddSystem = createbddsystem( 100, 1000, 100, 50000 );
47 BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
48 addbddcircuitin( (bddcircuit ∗)0, "i0", 0, BDD_IN_MODE_FIRST );
49 BddNode = applybddnodeterm( (bddsystem ∗)0,
50 ABL_XOR, BDD_INDEX_ONE,
51 searchbddcircuitin( (bddcircuit ∗)0, "i0" ) );
52 Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
53 /* displays (not i0) */
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 APPLYBDDNODETERM(3)