GCNODEBDD(3)

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

✨ GCNODEBDD(3): BDD functions, but make it bestie-core ✨

okay so welcome to the GCNODEBDD(3) page, bestie. this one is short, useful, and lowkey about cleaning up BDD nodes that didn't make the rescue list. no cap. πŸ’…

🌸 ORIGIN 🌸

This software belongs to the ALLIANCE CAD SYSTEM developed by the ASIM team at LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France.

Web: http://asim.lip6.fr/recherche/alliance/

E-mail: alliance-users@asim.lip6.fr

πŸŽ€ NAME πŸŽ€

  • gcNodeBdd β€” does a garbage collection.

πŸ¦‹ SYNOPSIS πŸ¦‹

#include "logmmm.h"
void gcNodeBdd(pt)
chain_list *pt;

πŸ’… PARAMETER πŸ’…

  • pt β€” chained list of BDD to rescue.

✨ DESCRIPTION ✨

gcNodeBdd() removes all the nodes that aren't used in the BDD pointed in the chained list pt.

That's the whole cleanup vibe: the BDD pointed at by pt is the rescue list, and nodes not used in it get removed. 🫢

πŸ”₯ EXAMPLE πŸ”₯

Here's the example, exactly as the page gives it β€” code stays verbatim, because we do not mess with code in this group chat. 😭

#include "mutnnn.h"      /* mbk utilities */
#include "logmmm.h"
pNode nodeA,nodeB,nodeC;
pNode res1,res2;
chain_list *ptCL;

initializeBdd(SMALL_BDD);
nodeA = createNodeTermBdd(3);
nodeB = createNodeTermBdd(3);
nodeC = createNodeTermBdd(4);

res1 = applyBinBdd(OR,applyBinBdd(OR,nodeA,nodeB),nodeC);
res2 = applyBinBdd(AND,applyBinBdd(AND,nodeA,nodeB),nodeC);
printf("number of nodes in memory = %d",numberAllNodeBdd());

/* it will display
7
*/
ptCL = addchain(NULL,res1);
gcNodeBdd(ptCL);         /* only res1 nodes are saved */

freechain(ptCL);
printf("number of nodes in memory = %d",numberAllNodeBdd());

/* it will display
number of nodes in memory = 5
*/
destroyBdd(1);

🌈 SEE ALSO 🌈

log(1), bdd(1), markBdd(3), supportChain_listBdd(3), markAllBdd(3), numberNodeBdd(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.

Cute sign-off: this page comes from ASIM/LIP6, dated October 1, 1997, and lives under GCNODEBDD(3). πŸ’–

πŸ“¦ where this page comes from