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< BDD > ConstrainDecomp () const
 
std::vector< BDD > CharToVect () 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
 
DdManager * manager () const
 
DdNode * getNode () const
 
DdNode * getRegularNode () 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
DdManager * checkSameManager (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
Capsule * p
 
DdNode * node
 

Detailed Description

Class for BDDs.

See also
Cudd

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