EXISTBDDNODEASSOCON(3)

๐Ÿ“ฆ version 5.1.1-unstable-2025-02, in nixos 26.05, nixpkgs unstable

โœจ NAME โœจ

okay bestie, welcome to EXISTBDDNODEASSOCON(3) from the BDD FUNCTIONS manual. The main character here is existbddnodeassocon โ€” it computes an existential quantification. periodt. ๐Ÿ’…


๐ŸŒธ ORIGIN ๐ŸŒธ

so 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. iconic academic lore fr fr.


๐Ÿฆ‹ SYNOPSIS ๐Ÿฆ‹

       #include "bdd101.h"
       bddnode โˆ—existbddnodeassocon( BddSystem, BddNode, BddAssoc )
         bddsystem โˆ—BddSystem;
         bddnode   โˆ—BddNode;
         bddassoc  โˆ—BddAssoc;

๐ŸŽ€ PARAMETERS ๐ŸŽ€

  • BddSystem โ€” The bdd system. yes, the whole system vibe.
  • BddNode โ€” The bdd node to treat. this is the node getting the treatment. ๐Ÿ’…
  • BddAssoc โ€” The variable association. the association of variables, iykyk.

๐Ÿ’– DESCRIPTION ๐Ÿ’–

so existbddnodeassocon suppresses, in BddNode, all the variables associated with something in the variable association BddAssoc, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used. no cap, that's the whole move. โœจ


๐Ÿ”ฅ RETURN VALUE ๐Ÿ”ฅ

existbddnodeassocon returns the computed bdd node. slay. ๐Ÿ‘‘


๐Ÿ’€ ERRORS ๐Ÿ’€

  • "bad variable association xxx, error !" โ€” The BddAssoc parameter must be a valid variable association. so yeah, give it a valid one or catch this error. ๐Ÿ˜ญ

๐ŸŒˆ EXAMPLE ๐ŸŒˆ

here's the example, bestie โ€” keep it exact, no remixing the code:

       #include "bdd101.h"
          bddsystem  โˆ—BddSystem;
          bddcircuit โˆ—BddCircuit;
          bddnode    โˆ—BddNode;
          bddnode    โˆ—BddSubst;
          bddnode    โˆ—BddVariable;
          bddassoc   โˆ—Assoc;
          chain_list โˆ—Expr;
          bddvar         Variable;
          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
          Expr = createablbinexpr( ABL_AND,
                                   createablatom( "i0" ),
                                   createablatom( "i1" ) );
          BddNode = addbddcircuitabl( BddCircuit, Expr );
          freeablexpr( Expr );
          BddVariable = searchbddcircuitin( (bddcircuit โˆ—)0, "i0" );
          Variable = getbddvarbyindex( (bddsystem โˆ—)0, BddVariable->INDEX );
          Assoc = addbddassoc( (bddsystem โˆ—)0 );
          addbddnodeassoc( (bddsystem โˆ—)0, Assoc, Variable, BddSystem->ONE );
          BddNode = existbddnodeassocon( (bddsystem โˆ—)0, BddNode, Assoc );
          Expr = convertbddcircuitabl( BddCircuit, BddNode );
          /* displays i1 */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddassoc( (bddsystem โˆ—)0 );
          destroybddsystem( (bddsystem โˆ—)0 );
          destroybddcircuit( (bddcircuit โˆ—)0 );

๐Ÿซถ SEE ALSO ๐Ÿซถ


๐Ÿ› 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 weird, tell the ASIM girlies. ๐Ÿซถ


source/version: ASIM/LIP6 ยท date: October 1, 1997 ยท manual: EXISTBDDNODEASSOCON(3) โ€” mwah, bestie ๐Ÿ’‹โœจ

๐Ÿ“ฆ where this page comes from