implybddnode(3)

implybddnode3

Computes a bdd that implies a conjonction of two bdd nodes.

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.

Overview

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.

Examples

#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 );

Releases

4 releases since Debian 7 (Wheezy); the text changed 1 time.

  1. 7–8
  2. 9–10

From alliance 5.1.1-3 in Debian 10 (Buster). Parsed by carta from the page's man source.