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 );