implybddnode

Langue: en

Version: October 1, 1997 (fedora - 05/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

implybddnode - computes a bdd that implies a conjonction of two bdd nodes.
man2html: unable to open or read file man1/alc_origin.1

SYNOPSYS

 #include "bdd101.h"
 bddnode *implybddnode( BddSystem, BddNode1, BddNode2 )
   bddsystem *BddSystem;
   bddnode   *BddNode1;
   bddnode   *BddNode2;
 

PARAMETERS

BddSystem
The bdd system.
BddNode1
The first bdd node.
BddNode2
The second bdd node.

DESCRIPTION

implybddnode tests if the intersection of BddNode1 and not BddNode2, exists, in the bdd system BddSystem. If a null pointer is given, the default bdd system is used.

RETURN VALUE

implybddnode returns the bdd node zero if there is no intersection, and a computed bdd node otherwise.

EXAMPLE

 #include "bdd101.h"
    bddsystem  *BddSystem;
    bddcircuit *BddCircuit;
    bddnode    *BddNode1;
    bddnode    *BddNode2;
    bddnode    *BddImply;
    chain_list *Expr;
    BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
    BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
    Expr = createablbinexpr( ABL_OR,
                             createablatom( "i0" ),
                             createablatom( "i1" ) );
    BddNode1 = addbddcircuitabl( BddCircuit, Expr );
    freeablexpr( Expr );
    Expr = createablbinexpr( ABL_AND,
                             createablatom( "i0" ),
                             createablatom( "i1" ) );
    BddNode1 = addbddcircuitabl( BddCircuit, Expr );
    freeablexpr( Expr );
    BddImply = implybddnode( (bddsystem *)0, BddNode1, BddNode2 );
    Expr = convertbddcircuitabl( BddCircuit, BddNode );
    /* displays (i0 and (not i1)) */
    viewablexpr( Expr, ABL_VIEW_VHDL );
    freeablexpr( Expr );
    destroybddsystem( (bddsystem *)0 );
    destroybddcircuit( (bddcircuit *)0 );
 

SEE ALSO

bdd(1)
man2html: unable to open or read file man1/alc_bug_report.1