APPLYBDD(3)

πŸ“¦ version 5.1.1-unstable-2025-02, in nixos 26.05, nixpkgs unstable

APPLYBDD(3) β€” the BDD functions manual, bestie ✨

okay so first things first, this is the APPLYBDD(3) page from the BDD functions manual. It’s giving β€œtiny function, big boolean energy,” and we’re gonna go through it together, no cap. 🫢

🌸 ORIGIN 🌸

This software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at the LIP6 laboratory of UniversitοΏ½ Pierre et Marie CURIE, in Paris, France. πŸ—ΌπŸ’–

✨ NAME ✨

applyBdd β€” applies an operator to a list of BDD. Literally what it says on the tin, bestie. πŸ’…

πŸŽ€ SYNOPSIS πŸŽ€

#include "logmmm.h"
pNode applyBdd(oper,pt)
short oper;
chain_list *pt;

πŸ¦‹ PARAMETERS πŸ¦‹

  • oper β€” the operator number to apply, and it has to be one of (OR,AND,XOR,NAND,NOR,NXOR,NOT).
  • pt β€” a chain_list of BDD.

🌈 DESCRIPTION 🌈

applyBdd() applies oper to a list of Bdd. That list can be created by the addListBdd() function β€” cute little pipeline, right? This function provides the basic method for creating the representation of a function according to the operators in a boolean expression. So yeah, it’s kind of a main character in the boolean-expression-building lore. πŸ”₯

πŸ’œ EXAMPLE πŸ’œ

#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
*/

destroyBdd(1);

That display block is not decorative, bestie β€” it’s the actual output vibe, exactly as written. πŸ‘‘

😭 ERRORS 😭

"applyBdd : error - unknown operator"

the operator number must be in (OR,AND,XOR,NAND,NOR,NXOR,NOT).

"applyBdd : error - chained list is empty"

chained list pointer pt = NULL.

"applyBdd : error - bad operator"

The number of arguments is 1 and the operator is distinct from NOT. chained list pointer pt = NULL.

🧚 SEE ALSO 🧚

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

πŸ“ BUG REPORT πŸ“

This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools. So if you spot something, say it with your chest β€” feedback is the whole vibe. πŸ’–


okay bye bestie β€” this page is from ASIM/LIP6, dated October 1, 1997, and it lives under APPLYBDD(3) 🫢✨

πŸ“¦ where this page comes from