BDD101(1)
π BDD101 β bestie's guide to bdd π
okay so you found the manpage for bdd, which lives in section 1 of the manual. it's the Mutli Reduced Ordered Binary Decision Diagrams library (yes, "Mutli" β that's the original spelling, we don't fix it, we respect it π
). it's part of the ALLIANCE BDD LIBRARY and honestly? iconic. let's go π¦
πΈ 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. Paris!! the main character city!! π«π·β¨
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
β¨ DESCRIPTION β¨
bdd is a library that enables you to represent a boolean expression as a Multi Reduced Ordered Binary Decision Diagrams. that's the whole vibe: boolean expression goes in, fancy decision diagram comes out. π
and then there's... the roster. the full roster. every single function, no cap, we're listing all of them because you deserve the whole group chat π
π«Ά the function lineup π«Ά
viewbddallocinfoβ displays memory informations.applybddnodenotβ complements a bdd.applybddnodetermβ applies an operator on two bdd nodes.applybddnodeβ applies an operator on two bdd nodes.applybddnodeiteβ computes the IF-THEN-ELSE logical operation.applybddnodelistβ applies an opertor to a bdd nodes list.addbddassocβ creates a new association variables.addbddnodeassocβ adds a bdd node in a variable association.delbddassocβ deletes a variable association.delbddnodeassocβ deletes a bdd node in a variable association.destroybddassocβ frees all the variable associations.viewbddassocβ displays variable associations.checkbddvarβ checks the coherence of a variable.checkbddindexβ checks the coherence of a bdd index.checkbddoperβ ckecks the coherence of an operator.checkbddassocβ checks a variable association.checkbddmaxnodeβ checks if the max node reached.createbddcircuitβ creates a bdd circuit.resetbddcircuitβ resets a bdd circuit.destroybddcircuitβ frees a bdd circuit.searchbddcircuitinβ searches a specified input in a circuit.addbddcircuitinβ adds a new input in a circuit.addbddcircuitauxβ adds an auxialiary variable in a circuit.searchbddcircuitoutβ searches a specified output in a circuit.addbddcircuitoutβ adds a new output in a circuit.delbddcircuitoutβ deletes a specified output in a circuit.addbddcircuitablβ converts an abl to a bdd node.convertbddcircuitablβ converts a bdd node to an abl.convertbddcircuitsumablβ converts a bdd node to an abl.viewbddcircuitβ displays a bdd circuit.cofactorbddnodeβ computes the generalized cofactor.restrictbddnodeβ substitutes a variable by zero or one.composebddnodeβ substitutes a variable by a bdd node.convertbddindexablβ converts a bdd index to an atomic abl.convertbddmuxablβ converts a bdd node to a multiplexor.convertbddnodeablβ converts a bdd node to an abl.convertbddnodesumablβ converts a bdd node to an abl.existbddnodeassoconβ computes an existential quantification.existbddnodeassocoffβ computes an existential quantification.garbagebddsystemβ forces a bdd garbage collection.implybddnodeβ computes a bdd that implies a conjonction.intersectbddnodeβ tests for an intersection.markbddnodeβ marks a bdd node.unmarkbddnodeβ clears a marked bdd node.getbddnodenumβ gets the number of nodes in a bdd.getbddnodesizeβ gets the number of nodes in a bdd.addbddnodeβ adds a new bdd node.addbddnodelistβ adds a node in achain_list.delbddnodeβ deletes a bdd node.delbddnodelistβ deletes a list of bdd nodes.viewbddnodeβ displays a bdd node.incbddrefextβ increments the number of external reference.incbddrefintβ increments the number of internal reference.decbddrefextβ decrements the number of external reference.decbddrefintβ decrements the number of internal reference.setbddrefextβ sets a node visible from outside.unsetbddrefextβ sets a node invisible from outside.clearbddsystemrefintβ clears all the internal references.clearbddsystemrefextβ clears all the external references.clearbddsystemrefβ clears all the references.relprodbddnodeassocβ computes a relation product.reorderbddsystemsimpleβ reorders the bdd nodes.reorderbddsystemwindowβ reorders the bdd nodes.reorderbddsystemtopβ reorders the bdd nodes.reorderbddsystemdynamicβ sets the dynamic reorder parameters.satisfybddnodeβ finds a satisfying path for a bdd.simpbddnodedconβ simplifies a bdd with don't cares on its on-set.simpbddnodedcoffβ simplifies a bdd with don't cares on its off-setsubstbddnodeassocβ substitutes variables with bdd nodes.getbddnodesupportβ gives the support of a bdd node.isbddvarinsupportβ checks if a variable appears in a bdd node.createbddsystemβ creates a bdd system.resetbddsystemβ resets a bdd system.destroybddsystemβ frees a bdd system.viewbddsystemβ displays a bdd system.viewbddsysteminfoβ displays statisticals informations.testbddcircuitβ debbugs a bdd circuit.addbddvarβ creates a new variable.addbddvarlastβ creates a new variable.addbddvarfirstβ creates a new variable.addbddvarbeforeβ creates a new variable.addbddvarafterβ creates a new variable.sweepbddvarβ sweeps all the unused nodes for a variable.swapbddvarβ swaps two contigous variables.getbddvarbyindexβ converts bdd index to a variable number.getbddvarindexβ converts a variable number in a bdd index.getbddvarnodeβ gives the bdd node of a variable.getbddvarnodebyindexβ gives the bdd node of a variable.addbddvarauxsingleβ creates an auxiliary variable.addbddvarauxglobalβ creates an auxiliary variable.
π§ libBdd101.a π§
and here's the full symbol list from libBdd101.a, every last one, copied exactly because bestie we do NOT paraphrase names π:
allocbdduserfunc, allocbddheath, allocbddhnode, allocbddhoper,
allocbddhnodetable, allocbddhopertable, allocbddblock,
allocbddnodeblock, allocbddvartree, allocbddvarchild, allocbddvarnode,
allocbddindexnode, allocbddvar, allocbddindex, allocbddassoc,
allocbddassocnode, allocbddnamein, allocbddindexin, allocbddsystem,
allocbddcircuit, viewbddallocinfo, applybddnodenot, applybddnodeterm,
applybddnode, applybddnodeite, applybddnodelist, addbddassoc,
addbddnodeassoc, delbddassoc, delbddnodeassoc, destroybddassoc,
viewbddassoc, addbddblock, createbddblock, resetbddblock,
destroybddblock, viewbddblock, checkbddvar, checkbddindex, checkbddoper,
checkbddassoc, checkbddmaxnode, createbddcircuit, resetbddcircuit,
destroybddcircuit, searchbddcircuitin, addbddcircuitin,
addbddcircuitaux, searchbddcircuitout, addbddcircuitout,
delbddcircuitout, addbddcircuitabl, convertbddcircuitabl,
convertbddcircuitsumabl, viewbddcircuit, cofactorbddnode,
restrictbddnode, composebddnode, convertbddindexabl, convertbddmuxabl,
convertbddnodeabl, convertbddnodesumabl, existbddnodeassocon,
existbddnodeassocoff, freebdduserfunc, freebddheath, freebddhnode,
freebddhoper, freebddhnodetable, freebddhopertable, freebddblock,
freebddnodeblock, freebddvartree, freebddvarchild, freebddvarnode,
freebddindexnode, freebddvar, freebddindex, freebddassoc,
freebddassocnode, freebddnamein, freebddindexin, freebddsystem,
freebddcircuit, garbagebddsystem, getbddheathvar, getbddheath,
delbddheath, setbddhnodefunc, getbddhnodesize, getbddhnodekey,
getbddhnodeindex, checkbddhnode, createbddhnodetable,
destroybddhnodetable, resetbddhnodetable, resizebddhnodetable,
stretchbddhnodetable, addbddhnode, delbddhnode, viewbddhnode,
viewbddhnodetable, viewbddindexnode, viewbddvarnode, setbddhoperfunc,
getbddhopersize, getbddhoperkey, createbddhopertable,
destroybddhopertable, resetbddhopertable, addbddhoper, searchbddhoper,
viewbddhoper, viewbddhopertable, implybddnode, intersectbddnode,
markbddnode, unmarkbddnode, getbddnodenum, getbddnodesize, addbddnode,
addbddnodelist, delbddnode, delbddnodelist, viewbddnode, incbddrefext,
incbddrefint, decbddrefext, decbddrefint, setbddrefext, unsetbddrefext,
clearbddsystemrefint, clearbddsystemrefext, clearbddsystemref,
relprodbddnodeassoc, reorderbddvartreewindow2, reorderbddvartreewindow3,
reorderbddsystemsimple, reorderbddsystemwindow, reorderbddsystemtop,
reorderbddsystemdynamic, resizebddvarchild, resizebddvarnode,
resizebddvar, resizebddindexnode, resizebddindex, resizebddassocnode,
resizebddnamein, resizebddindexin, satisfybddnode, simpbddnodedcon,
simpbddnodedcoff, substbddnodeassoc, getbddnodesupport,
isbddvarinsupport, createbddsystem, resetbddsystem, destroybddsystem,
viewbddsystem, viewbddsysteminfo, testbddcircuit, addbdduserfunc,
delbdduserfunc, execbdduserfunc, destroybdduserfunc, newbddvar,
addbddvar, addbddvarlast, addbddvarfirst, addbddvarbefore,
addbddvarafter, sweepbddvar, swapbddvar, getbddvarbyindex,
getbddvarindex, getbddvarnode, getbddvarnodebyindex, addbddvarauxsingle,
addbddvarauxglobal, searchbddvartree, deltabddvartree, shiftbddvartree,
addbddvartree, swapbddvartree, createbddvartree, resetbddvartree,
destroybddvartree, viewbddvartree.
π₯ SEE ALSO π₯
go read those too, they're the sibling chapters of this saga π
π BUG REPORT π
This tool is under development at the ASIM department of the LIP6 laboratory. We need your feedback to improve documentation and tools.
fr fr, they're literally asking. if something's busted or the docs are giving nothing, tell them β feedback is how the glow-up happens π«Ά
that's the whole page bestie!! this one is from the ASIM/LIP6 era, dated October 1, 1997, and it ships as part of the ALLIANCE BDD LIBRARY manual for BDD101(1). slay, go build some decision diagrams π
β¨π
π¦ where this page comes from
- fedora 43: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 43: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- fedora 44: alliance 5.1.1-35.20160506gitd8c05cd.fc42 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms