cudd  3.0.0
The University of Colorado Decision Diagram Package
Functions
cuddClip.c File Reference

Clipping functions. More...

#include "util.h"
#include "cuddInt.h"
Include dependency graph for cuddClip.c:

Functions

DdNodeCudd_bddClippingAnd (DdManager *dd, DdNode *f, DdNode *g, int maxDepth, int direction)
 Approximates the conjunction of two BDDs f and g. More...
 
DdNodeCudd_bddClippingAndAbstract (DdManager *dd, DdNode *f, DdNode *g, DdNode *cube, int maxDepth, int direction)
 Approximates the conjunction of two BDDs f and g and simultaneously abstracts the variables in cube. More...
 
DdNodecuddBddClippingAnd (DdManager *dd, DdNode *f, DdNode *g, int maxDepth, int direction)
 Approximates the conjunction of two BDDs f and g. More...
 
DdNodecuddBddClippingAndAbstract (DdManager *dd, DdNode *f, DdNode *g, DdNode *cube, int maxDepth, int direction)
 Approximates the conjunction of two BDDs f and g and simultaneously abstracts the variables in cube. More...
 
static DdNodecuddBddClippingAndRecur (DdManager *manager, DdNode *f, DdNode *g, int distance, int direction)
 Implements the recursive step of Cudd_bddClippingAnd. More...
 
static DdNodecuddBddClipAndAbsRecur (DdManager *manager, DdNode *f, DdNode *g, DdNode *cube, int distance, int direction)
 Approximates the AND of two BDDs and simultaneously abstracts the variables in cube. More...
 

Detailed Description

Clipping functions.

Author
Fabio Somenzi

Function Documentation

◆ Cudd_bddClippingAnd()

DdNode* Cudd_bddClippingAnd ( DdManager dd,
DdNode f,
DdNode g,
int  maxDepth,
int  direction 
)

Approximates the conjunction of two BDDs f and g.

Returns
a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.
Side effects None
See also
Cudd_bddAnd
Parameters
ddmanager
ffirst conjunct
gsecond conjunct
maxDepthmaximum recursion depth
directionunder (0) or over (1) approximation

◆ Cudd_bddClippingAndAbstract()

DdNode* Cudd_bddClippingAndAbstract ( DdManager dd,
DdNode f,
DdNode g,
DdNode cube,
int  maxDepth,
int  direction 
)

Approximates the conjunction of two BDDs f and g and simultaneously abstracts the variables in cube.

The variables are existentially abstracted.

Returns
a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.
Side effects None
See also
Cudd_bddAndAbstract Cudd_bddClippingAnd
Parameters
ddmanager
ffirst conjunct
gsecond conjunct
cubecube of variables to be abstracted
maxDepthmaximum recursion depth
directionunder (0) or over (1) approximation

◆ cuddBddClipAndAbsRecur()

static DdNode* cuddBddClipAndAbsRecur ( DdManager manager,
DdNode f,
DdNode g,
DdNode cube,
int  distance,
int  direction 
)
static

Approximates the AND of two BDDs and simultaneously abstracts the variables in cube.

The variables are existentially abstracted.

Returns
a pointer to the result is successful; NULL otherwise.
Side effects None
See also
Cudd_bddClippingAndAbstract

◆ cuddBddClippingAnd()

DdNode* cuddBddClippingAnd ( DdManager dd,
DdNode f,
DdNode g,
int  maxDepth,
int  direction 
)

Approximates the conjunction of two BDDs f and g.

Returns
a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.
Side effects None
See also
Cudd_bddClippingAnd
Parameters
ddmanager
ffirst conjunct
gsecond conjunct
maxDepthmaximum recursion depth
directionunder (0) or over (1) approximation

◆ cuddBddClippingAndAbstract()

DdNode* cuddBddClippingAndAbstract ( DdManager dd,
DdNode f,
DdNode g,
DdNode cube,
int  maxDepth,
int  direction 
)

Approximates the conjunction of two BDDs f and g and simultaneously abstracts the variables in cube.

Returns
a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.
Side effects None
See also
Cudd_bddClippingAndAbstract
Parameters
ddmanager
ffirst conjunct
gsecond conjunct
cubecube of variables to be abstracted
maxDepthmaximum recursion depth
directionunder (0) or over (1) approximation

◆ cuddBddClippingAndRecur()

static DdNode* cuddBddClippingAndRecur ( DdManager manager,
DdNode f,
DdNode g,
int  distance,
int  direction 
)
static

Implements the recursive step of Cudd_bddClippingAnd.

Takes the conjunction of two BDDs.

Returns
a pointer to the result is successful; NULL otherwise.
Side effects None
See also
cuddBddClippingAnd