applybddnodelist

APPLYBDDNODELIST(3)              BDD FUNCTIONS             APPLYBDDNODELIST(3)



NAME
       applybddnodelist - applies an opertor to a bdd nodes list.


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


SYNOPSYS
       #include "bdd101.h"
       bddnode ∗applybddnodelist( BddSystem, Oper, BddList )
         bddsystem  ∗BddSystem;
         long        Oper;
         chain_list ∗BddList;

PARAMETERS
       BddSystem           The bdd system.

       Oper                The operator.

       BddList             The bdd nodes list.

DESCRIPTION
       applybddnodelist applies the boolean operator Oper to the bdd nodes
       list BddList in the bdd system BddSystem.  If a null pointer is given,
       the default bdd system is used.

RETURN VALUE
       applybddnodelist returns a pointer to the resulting bdd node with its
       number of external reference incremented.

ERRORS
       "bad operator xxx error !"
              The Oper parameter must be a valid binary operator.
       "bad list !"
              The BddList parameter must be a valid list.

EXAMPLE
       #include "bdd101.h"
          bddsystem  ∗BddSystem;
          bddcircuit ∗BddCircuit;
          bddnode    ∗BddNode;
          chain_list ∗BddList;
          chain_list ∗Expr;
          BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
          BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
          BddList    = (chain_list ∗)0;
          BddList = addbddnodelist( (bddsystem ∗)0, BddList,
                                    addbddcircuitin( (bddcircuit ∗)0,
                                                     "i0", 0, BDD_IN_MODE_FIRST ) );
          BddList = addbddnodelist( (bddsystem ∗)0, BddList,
                                     addbddcircuitin( (bddcircuit ∗)0,
                                                      "i1", 0, BDD_IN_MODE_FIRST );
          BddList = addbddnodelist( (bddsystem ∗)0, BddList,
                                    addbddcircuitin( (bddcircuit ∗)0,
                                                     "i2", 0, BDD_IN_MODE_FIRST );
          BddNode = applybddnodelist( (bddsystem ∗)0, ABL_AND, BddList );
          Expr = convertbddcircuitabl( (bddcircuit ∗)0, BddNode );
          /* displays (i0 and i1 and i2) */
          viewablexpr( Expr, ABL_VIEW_VHDL );
          freeablexpr( Expr );
          destroybddsystem( (bddsystem ∗)0 );
          destroybddcircuit( (bddcircuit ∗)0 );

SEE ALSO
       bdd(1)




BUG REPORT
       This tool is under development at the ASIM department of the LIP6
       laboratory.
       We need your feedback to improve documentation and tools.






ASIM/LIP6                       October 1, 1997            APPLYBDDNODELIST(3)