addbddcircuitin(3)
adds an input in a bdd circuit.
SYNOPSYS
#include "bdd101.h"
bddnode *addbddcircuitin( BddCircuit, InputName, Index, Mode )
bddcircuit *BddCircuit;
char *InputName;
bddindex Index;
long Mode;
PARAMETERS
- BddCircuit
-
The bdd circuit.
- InputName
-
The name of the input.
- Index
-
The bdd index of the input.
- Mode
-
The mode.
DESCRIPTION
addbddcircuitin adds an input
InputName in the
bdd circuit
BddCircuit. If a null pointer is given, the default
bdd circuit is used.
If the input
InputName exists already, its node pointer is returned.
The
Mode parameter specifies how to create the new variable associated
to the name
InputName. The
Index parameter is used with the
BDD_IN_MODE_BEFORE and BDD_IN_MODE_AFTER mode.
The
Mode parameter can takes the following values :
- BDD_IN_MODE_FIRST
-
adds a variable before all others.
- BDD_IN_MODE_LAST
-
adds a variable after all others.
- BDD_IN_MODE_BEFORE
-
adds a variable before the one specified by Index.
- BDD_IN_MODE_AFTER
-
adds a variable after the one specified by Index.
- BDD_IN_MODE_IMPOSE
-
if this flag is set, only the variables found in the BddCircuit
are taken into account. It permits to merge variables from different
circuit working on the same bdd system.
RETURN VALUE
addbddcircuitin returns a pointer to the new created node.
ERRORS
"unknwon in mode xxx error !"
-
The Mode parameter must be defined.
EXAMPLE
#include "bdd101.h"
bddsystem *BddSystem;
bddcircuit *BddCircuit;
bddnode *BddNode;
BddSystem = createbddsystem( 100, 1000, 100, 50000 );
BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
addbddcircuitin ( (bddcircuit *)0, "i0", 0, BDD_IN_MODE_FIRST );
...
BddNode = searchbddcircuitin( (bddcircuit *)0, "i0" );
destroybddsystem( (bddsystem *)0 );
destroybddcircuit( (bddcircuit *)0 );