UPVARCCT(3)

NAME
upVarCct - brings up the index of a primary input within a circuit

SYNOPSYS
#include "logmmm.h"
void upVarCct(pC,index1,index2)
pCircuit pC;
short index1,index2;

PARAMETERS

pC  Circuit in which the index is bring up

index1
    old index

index2
    new index

DESCRIPTION
upVarCct() brings up index1 back to index2. this function provides the basic method for the BDD reorder.

EXAMPLE
#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
chain_list *expr;
pNode res;
pCircuit pC;
initializeBdd(SMALL_BDD);
pC = initializeCct("circuit 1",10,10);
addInputCct(pC,"a");
addInputCct(pC,"b");
addOutputCct(pC,"s",applyBinBdd(XOR,
                        createNodeTermBdd(searchInputCct(pC,"a")),
                        createNodeTermBdd(searchInputCct(pC,"b"))));
upVarCct(pC,2,4);
displayCct(pC,1);
/* it will display
************* DISPLAY circuit 1 *********
INPUT = b	INDEX = 3
INPUT = a	INDEX = 4
----------- NUMBER OF INPUTS = 2
OUTPUT = s	s = (XOR b a)
----------- NUMBER OF OUTPUTS = 1
*****************************************
*/
destroyCct(pC);
destroyBdd();

ERROR
"upVarCct : error - old index is higher than new index"
The new index must be higher than the old index.

SEE ALSO
log(1), bdd(1), abl(1), constraintCct(3), composeCct(3).