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

Functions for manipulation of literal sets represented by BDDs. More...

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

Functions

DdNodeCudd_bddLiteralSetIntersection (DdManager *dd, DdNode *f, DdNode *g)
 Computes the intesection of two sets of literals represented as BDDs. More...
 
DdNodecuddBddLiteralSetIntersectionRecur (DdManager *dd, DdNode *f, DdNode *g)
 Performs the recursive step of Cudd_bddLiteralSetIntersection. More...
 

Detailed Description

Functions for manipulation of literal sets represented by BDDs.

Author
Fabio Somenzi

Function Documentation

◆ Cudd_bddLiteralSetIntersection()

DdNode* Cudd_bddLiteralSetIntersection ( DdManager dd,
DdNode f,
DdNode g 
)

Computes the intesection of two sets of literals represented as BDDs.

Each set is represented as a cube of the literals in the set. The empty set is represented by the constant 1. No variable can be simultaneously present in both phases in a set.

Returns
a pointer to the BDD representing the intersected sets, if successful; NULL otherwise.
Side effects None

◆ cuddBddLiteralSetIntersectionRecur()

DdNode* cuddBddLiteralSetIntersectionRecur ( DdManager dd,
DdNode f,
DdNode g 
)

Performs the recursive step of Cudd_bddLiteralSetIntersection.

Scans the cubes for common variables, and checks whether they agree in phase.

Returns
a pointer to the resulting cube if successful; NULL otherwise.
Side effects None