DOKK / manpages / debian 10 / alliance / addListBdd.3.en
ADDLISTBDD(3) BDD functions ADDLISTBDD(3)

See the file buster/alliance/alc_origin.1.en.gz.

addListBdd - adds a BDD to a chained list of BDDs

#include "logmmm.h"
chain_list *addListBdd(pt,pBdd)
chain_list *pt;
pNode pBdd;

old chain_list pointer
BDD to add

addListBdd() adds pBdd to pt. This function computes an optimal reordering on pt that minimizes the number of nodes when the applyBdd() function is called.

#include "mutnnn.h"		/* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB,nodeC;
pNode res;
chain_list *pt;
initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
nodeC = createNodeTermBdd(4);
pt = NULL;
pt = addListBdd(pt,nodeA);
pt = addListBdd(pt,nodeB);
pt = addListBdd(pt,nodeC);
res = applyBdd(OR,pt);
displayBdd(res,1);
/* it will display 
@res    INDEX = 4   LOW = @inter   HIGH = ONE
@inter  INDEX = 3   LOW = @nodeA   HIGH = ONE
@nodeA  INDEX = 2   LOW = ZERO	   HIGH = ONE
*/
/* total number of nodes = 5 */
	
destroyBdd(1);

log(1), bdd(1), addListBdd(3), addListBdd(3), notBdd(3), constraintBdd(3), composeBdd(3), displayBdd(3), createNodeTermBdd(3).

See the file buster/alliance/alc_bug_report.1.en.gz.

October 1, 1997 ASIM/LIP6