BDDTOABLCCT(3)

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

πŸ¦‹ bddToAblCct(3) β€” the BDD functions girlies πŸ’…

ok so this page is BDDTOABLCCT(3) from the BDD functions manual, and it's literally all about turning a BDD into an ABL inside a circuit. stay with me bestie, it's gonna slay ✨


🌈 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.

like, the whole thing was born in Paris at LIP6, no cap πŸ₯πŸ’–


✨ NAME

bddToAblCct β€” converts a BDD into an ABL within a circuit. that's it, that's the whole job, and it does it iconically πŸŽ€


🌸 SYNOPSIS

#include "logmmm.h"
chain_list *bddToAblCct(pC,pBdd)
pCircuit pC;
pNode pBdd;

πŸ’– PARAMETERS

  • pC β€” the Circuit where the conversion happens. it's giving "the venue" 🏟️
  • pBdd β€” the BDD you want converted. the main character of this whole operation πŸ‘‘

🧚 DESCRIPTION

bddToAblCct() converts pBdd into an expression. periodt πŸ’…

lowkey important though: the result it returns depends on the ordering of the primary input. so yeah, order matters, it's not a vibe-neutral thing, keep that in mind 🫢

and also β€” this function provides the basic method for the logical optimizer that gets called in BOP. so it's like, foundational. the blueprint. the blueprint blueprint, if you will ✨


🌈 EXAMPLE

ok bestie here's the whole thing in action, look:

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

     /* let's suppose that res = (OR a b) */

expr = bddToAblCct(pC,applyBinBdd(OR,
                    createNodeTermBdd(searchInputCct(pC,"a"))),
                    createNodeTermBdd(searchInputCct(pC,"b")));
displayExpr(expr);

/* it will display
(OR a b)
*/

destroyCct(pC);
destroyBdd(1);

and yes, it will display (OR a b) β€” that's the payoff, we love a successful conversion πŸ˜­πŸ’–


πŸ”₯ SEE ALSO

log(1), bdd(1), abl(1), ablToBddCct(3) β€” go read those too, iykyk πŸ“š


πŸ’€ BUG REPORT

This tool is under development at the ASIM department of the LIP6 laboratory. They need your feedback to improve documentation and tools β€” so like, fr fr, tell them stuff. it's giving community 🫢

ngl "under development" means behave accordingly, bestie. it's not finished, don't be weird about it πŸ™ˆ

ok that's the whole page! this one's from ASIM/LIP6, dated October 1, 1997 β€” yes, 1997, a whole vintage icon, and the page is BDDTOABLCCT(3) top to bottom. mwah πŸ’‹πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from