cudd  3.0.0
The University of Colorado Decision Diagram Package
Public Member Functions | Friends
BDD Class Reference

Class for BDDs. More...

#include <cuddObj.hh>

Inheritance diagram for BDD:
Inheritance graph
[legend]
Collaboration diagram for BDD:
Collaboration graph
[legend]

Public Member Functions

 BDD (Capsule *cap, DdNode *bddNode)
 
 BDD (Cudd const &manager, DdNode *ddNode)
 
 BDD (const BDD &from)
 
BDD operator= (const BDD &right)
 
bool operator<= (const BDD &other) const
 
bool operator>= (const BDD &other) const
 
bool operator< (const BDD &other) const
 
bool operator> (const BDD &other) const
 
BDD operator! () const
 
BDD operator~ () const
 
BDD operator* (const BDD &other) const
 
BDD operator*= (const BDD &other)
 
BDD operator & (const BDD &other) const
 
BDD operator &= (const BDD &other)
 
BDD operator+ (const BDD &other) const
 
BDD operator+= (const BDD &other)
 
BDD operator| (const BDD &other) const
 
BDD operator|= (const BDD &other)
 
BDD operator^ (const BDD &other) const
 
BDD operator^= (const BDD &other)
 
BDD operator- (const BDD &other) const
 
BDD operator-= (const BDD &other)
 
bool IsZero () const
 
bool IsVar () const
 
BDD AndAbstract (const BDD &g, const BDD &cube, unsigned int limit=0) const
 
BDD UnderApprox (int numVars, int threshold=0, bool safe=false, double quality=1.0) const
 
BDD OverApprox (int numVars, int threshold=0, bool safe=false, double quality=1.0) const
 
BDD RemapUnderApprox (int numVars, int threshold=0, double quality=1.0) const
 
BDD RemapOverApprox (int numVars, int threshold=0, double quality=1.0) const
 
BDD BiasedUnderApprox (const BDD &bias, int numVars, int threshold=0, double quality1=1.0, double quality0=1.0) const
 
BDD BiasedOverApprox (const BDD &bias, int numVars, int threshold=0, double quality1=1.0, double quality0=1.0) const
 
BDD ExistAbstract (const BDD &cube, unsigned int limit=0) const
 
BDD XorExistAbstract (const BDD &g, const BDD &cube) const
 
BDD UnivAbstract (const BDD &cube) const
 
BDD BooleanDiff (int x) const
 
bool VarIsDependent (const BDD &var) const
 
double Correlation (const BDD &g) const
 
double CorrelationWeights (const BDD &g, double *prob) const
 
BDD Ite (const BDD &g, const BDD &h, unsigned int limit=0) const
 
BDD IteConstant (const BDD &g, const BDD &h) const
 
BDD Intersect (const BDD &g) const
 
BDD And (const BDD &g, unsigned int limit=0) const
 
BDD Or (const BDD &g, unsigned int limit=0) const
 
BDD Nand (const BDD &g) const
 
BDD Nor (const BDD &g) const
 
BDD Xor (const BDD &g) const
 
BDD Xnor (const BDD &g, unsigned int limit=0) const
 
bool Leq (const BDD &g) const
 
ADD Add () const
 
BDD Transfer (Cudd &destination) const
 
BDD ClippingAnd (const BDD &g, int maxDepth, int direction=0) const
 
BDD ClippingAndAbstract (const BDD &g, const BDD &cube, int maxDepth, int direction=0) const
 
BDD Cofactor (const BDD &g) const
 
bool VarAreSymmetric (int index1, int index2) const
 
BDD Compose (const BDD &g, int v) const
 
BDD Permute (int *permut) const
 
BDD SwapVariables (std::vector< BDD > x, std::vector< BDD > y) const
 
BDD AdjPermuteX (std::vector< BDD > x) const
 
BDD VectorCompose (std::vector< BDD > vector) const
 
void ApproxConjDecomp (BDD *g, BDD *h) const
 
void ApproxDisjDecomp (BDD *g, BDD *h) const
 
void IterConjDecomp (BDD *g, BDD *h) const
 
void IterDisjDecomp (BDD *g, BDD *h) const
 
void GenConjDecomp (BDD *g, BDD *h) const
 
void GenDisjDecomp (BDD *g, BDD *h) const
 
void VarConjDecomp (BDD *g, BDD *h) const
 
void VarDisjDecomp (BDD *g, BDD *h) const
 
bool IsVarEssential (int id, int phase) const
 
BDD Constrain (const BDD &c) const
 
BDD Restrict (const BDD &c) const
 
BDD NPAnd (const BDD &g) const
 
std::vector< BDDConstrainDecomp () const
 
std::vector< BDDCharToVect () const
 
BDD LICompaction (const BDD &c) const
 
BDD Squeeze (const BDD &u) const
 
BDD Interpolate (const BDD &u) const
 
BDD Minimize (const BDD &c) const
 
BDD SubsetCompress (int nvars, int threshold) const
 
BDD SupersetCompress (int nvars, int threshold) const
 
BDD LiteralSetIntersection (const BDD &g) const
 
BDD PrioritySelect (std::vector< BDD > x, std::vector< BDD > y, std::vector< BDD > z, const BDD &Pi, DD_PRFP Pifunc) const
 
BDD CProjection (const BDD &Y) const
 
int MinHammingDist (int *minterm, int upperBound) const
 
BDD Eval (int *inputs) const
 
BDD Decreasing (int i) const
 
BDD Increasing (int i) const
 
bool LeqUnless (const BDD &G, const BDD &D) const
 
BDD MakePrime (const BDD &F) const
 
BDD MaximallyExpand (const BDD &ub, const BDD &f)
 
BDD LargestPrimeUnate (const BDD &phases)
 
BDD SolveEqn (const BDD &Y, std::vector< BDD > &G, int **yIndex, int n) const
 
BDD VerifySol (std::vector< BDD > const &G, int *yIndex) const
 
BDD SplitSet (std::vector< BDD > xVars, double m) const
 
BDD SubsetHeavyBranch (int numVars, int threshold) const
 
BDD SupersetHeavyBranch (int numVars, int threshold) const
 
BDD SubsetShortPaths (int numVars, int threshold, bool hardlimit=false) const
 
BDD SupersetShortPaths (int numVars, int threshold, bool hardlimit=false) const
 
void PrintCover () const
 
void PrintCover (const BDD &u) const
 
int EstimateCofactor (int i, int phase) const
 
int EstimateCofactorSimple (int i) const
 
void PickOneCube (char *string) const
 
BDD PickOneMinterm (std::vector< BDD > vars) const
 
BDD zddIsop (const BDD &U, ZDD *zdd_I) const
 
BDD Isop (const BDD &U) const
 
ZDD PortToZdd () const
 
void PrintFactoredForm (char const *const *inames=0, FILE *fp=stdout) const
 
std::string FactoredFormString (char const *const *inames=0) const
 
- Public Member Functions inherited from ABDD
bool operator== (const ABDD &other) const
 
bool operator!= (const ABDD &other) const
 
void print (int nvars, int verbosity=1) const
 
void summary (int nvars, int mode=0) const
 
DdApaNumber ApaCountMinterm (int nvars, int *digits) const
 
void ApaPrintMinterm (int nvars, FILE *fp=stdout) const
 
void ApaPrintMintermExp (int nvars, int precision=6, FILE *fp=stdout) const
 
void EpdPrintMinterm (int nvars, FILE *fp=stdout) const
 
long double LdblCountMinterm (int nvars) const
 
bool IsOne () const
 
bool IsCube () const
 
BDD FindEssential () const
 
void PrintTwoLiteralClauses (char **names=0, FILE *fp=stdout) const
 
BDD ShortestPath (int *weight, int *support, int *length) const
 
BDD LargestCube (int *length=0) const
 
int ShortestLength (int *weight=0) const
 
bool EquivDC (const ABDD &G, const ABDD &D) const
 
double * CofMinterm () const
 
void PrintMinterm () const
 
double CountMinterm (int nvars) const
 
double CountPath () const
 
BDD Support () const
 
int SupportSize () const
 
std::vector< unsigned int > SupportIndices () const
 
void ClassifySupport (const ABDD &g, BDD *common, BDD *onlyF, BDD *onlyG) const
 
int CountLeaves () const
 
double Density (int nvars) const
 
- Public Member Functions inherited from DD
 operator bool () const
 
DdManagermanager () const
 
DdNodegetNode () const
 
DdNodegetRegularNode () const
 
int nodeCount () const
 
unsigned int NodeReadIndex () const
 

Friends

class Cudd
 
std::ostream & operator<< (std::ostream &os, BDD const &f)
 

Additional Inherited Members

- Protected Member Functions inherited from ABDD
 ABDD (Capsule *cap, DdNode *bddNode)
 
 ABDD (Cudd const &manager, DdNode *ddNode)
 
 ABDD (const ABDD &from)
 
- Protected Member Functions inherited from DD
DdManagercheckSameManager (const DD &other) const
 
void checkReturnValue (const void *result) const
 
void checkReturnValue (int result, int expected=1) const
 
 DD (Capsule *cap, DdNode *ddNode)
 
 DD (Cudd const &manager, DdNode *ddNode)
 
 DD (const DD &from)
 
- Protected Attributes inherited from DD
Capsulep
 
DdNodenode
 

Detailed Description

Class for BDDs.

See also
Cudd

The documentation for this class was generated from the following files: