75 #define CUDD_VERSION "2.5.0" 78 #define SIZEOF_VOID_P 4 90 #define CUDD_VALUE_TYPE double 91 #define CUDD_OUT_OF_MEM -1 93 #define CUDD_UNIQUE_SLOTS 256 94 #define CUDD_CACHE_SLOTS 262144 97 #define CUDD_RESIDUE_DEFAULT 0 98 #define CUDD_RESIDUE_MSB 1 99 #define CUDD_RESIDUE_TC 2 105 #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 106 #define CUDD_MAXINDEX (((DdHalfWord) ~0) >> 1) 108 #define CUDD_MAXINDEX ((DdHalfWord) ~0) 113 #define CUDD_CONST_INDEX CUDD_MAXINDEX 121 #define DD_APA_BITS 32 122 #define DD_APA_BASE (1L << DD_APA_BITS) 123 #define DD_APA_HEXPRINT "%08x" 125 #define DD_APA_BITS 16 126 #define DD_APA_BASE (1 << DD_APA_BITS) 127 #define DD_APA_HEXPRINT "%04x" 129 #define DD_APA_MASK (DD_APA_BASE - 1) 256 #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 304 typedef DdNode * (*DD_AOP)(DdManager *, DdNode **, DdNode **);
306 typedef DdNode * (*DD_MAOP)(DdManager *, DdNode *);
308 typedef DdNode * (*DD_CTFP)(DdManager *, DdNode *, DdNode *);
309 typedef DdNode * (*DD_CTFP1)(DdManager *, DdNode *);
313 typedef int (*
DD_QSFP)(
const void *,
const void *);
339 #define Cudd_IsConstant(node) ((Cudd_Regular(node))->index == CUDD_CONST_INDEX) 354 #define Cudd_Not(node) ((DdNode *)((long)(node) ^ 01)) 370 #define Cudd_NotCond(node,c) ((DdNode *)((long)(node) ^ (c))) 384 #define Cudd_Regular(node) ((DdNode *)((unsigned long)(node) & ~01)) 398 #define Cudd_Complement(node) ((DdNode *)((unsigned long)(node) | 01)) 412 #define Cudd_IsComplement(node) ((int) ((long) (node) & 01)) 427 #define Cudd_T(node) ((Cudd_Regular(node))->type.kids.T) 442 #define Cudd_E(node) ((Cudd_Regular(node))->type.kids.E) 457 #define Cudd_V(node) ((Cudd_Regular(node))->type.value) 474 #define Cudd_ReadIndex(dd,index) (Cudd_ReadPerm(dd,index)) 506 #define Cudd_ForeachCube(manager, f, gen, cube, value)\ 507 for((gen) = Cudd_FirstCube(manager, f, &cube, &value);\ 508 Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : CUDD_TRUE;\ 509 (void) Cudd_NextCube(gen, &cube, &value)) 538 #define Cudd_ForeachPrime(manager, l, u, gen, cube)\ 539 for((gen) = Cudd_FirstPrime(manager, l, u, &cube);\ 540 Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : CUDD_TRUE;\ 541 (void) Cudd_NextPrime(gen, &cube)) 572 #define Cudd_ForeachNode(manager, f, gen, node)\ 573 for((gen) = Cudd_FirstNode(manager, f, &node);\ 574 Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : CUDD_TRUE;\ 575 (void) Cudd_NextNode(gen, &node)) 606 #define Cudd_zddForeachPath(manager, f, gen, path)\ 607 for((gen) = Cudd_zddFirstPath(manager, f, &path);\ 608 Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : CUDD_TRUE;\ 609 (void) Cudd_zddNextPath(gen, &path)) 770 extern DdNode *
Cudd_addApply (DdManager *dd, DdNode * (*)(DdManager *, DdNode **, DdNode **), DdNode *f, DdNode *g);
771 extern DdNode *
Cudd_addPlus (DdManager *dd, DdNode **f, DdNode **g);
772 extern DdNode *
Cudd_addTimes (DdManager *dd, DdNode **f, DdNode **g);
774 extern DdNode *
Cudd_addSetNZ (DdManager *dd, DdNode **f, DdNode **g);
775 extern DdNode *
Cudd_addDivide (DdManager *dd, DdNode **f, DdNode **g);
776 extern DdNode *
Cudd_addMinus (DdManager *dd, DdNode **f, DdNode **g);
777 extern DdNode *
Cudd_addMinimum (DdManager *dd, DdNode **f, DdNode **g);
778 extern DdNode *
Cudd_addMaximum (DdManager *dd, DdNode **f, DdNode **g);
780 extern DdNode *
Cudd_addDiff (DdManager *dd, DdNode **f, DdNode **g);
782 extern DdNode *
Cudd_addOr (DdManager *dd, DdNode **f, DdNode **g);
783 extern DdNode *
Cudd_addNand (DdManager *dd, DdNode **f, DdNode **g);
784 extern DdNode *
Cudd_addNor (DdManager *dd, DdNode **f, DdNode **g);
785 extern DdNode *
Cudd_addXor (DdManager *dd, DdNode **f, DdNode **g);
786 extern DdNode *
Cudd_addXnor (DdManager *dd, DdNode **f, DdNode **g);
787 extern DdNode *
Cudd_addMonadicApply (DdManager * dd, DdNode * (*op)(DdManager *, DdNode *), DdNode * f);
788 extern DdNode *
Cudd_addLog (DdManager * dd, DdNode * f);
791 extern DdNode *
Cudd_addIthBit (DdManager *dd, DdNode *f,
int bit);
793 extern DdNode *
Cudd_addIte (DdManager *dd, DdNode *f, DdNode *g, DdNode *h);
796 extern int Cudd_addLeq (DdManager * dd, DdNode * f, DdNode * g);
797 extern DdNode *
Cudd_addCmpl (DdManager *dd, DdNode *f);
800 extern DdNode *
Cudd_addWalsh (DdManager *dd, DdNode **x, DdNode **y,
int n);
801 extern DdNode *
Cudd_addResidue (DdManager *dd,
int n,
int m,
int options,
int top);
802 extern DdNode *
Cudd_bddAndAbstract (DdManager *manager, DdNode *f, DdNode *g, DdNode *cube);
803 extern DdNode *
Cudd_bddAndAbstractLimit (DdManager *manager, DdNode *f, DdNode *g, DdNode *cube,
unsigned int limit);
806 extern void Cudd_ApaCopy (
int digits, DdApaNumber source, DdApaNumber dest);
807 extern DdApaDigit
Cudd_ApaAdd (
int digits, DdApaNumber a, DdApaNumber b, DdApaNumber sum);
808 extern DdApaDigit
Cudd_ApaSubtract (
int digits, DdApaNumber a, DdApaNumber b, DdApaNumber diff);
809 extern DdApaDigit
Cudd_ApaShortDivision (
int digits, DdApaNumber dividend, DdApaDigit divisor, DdApaNumber quotient);
810 extern unsigned int Cudd_ApaIntDivision (
int digits, DdApaNumber dividend,
unsigned int divisor, DdApaNumber quotient);
811 extern void Cudd_ApaShiftRight (
int digits, DdApaDigit in, DdApaNumber a, DdApaNumber b);
814 extern int Cudd_ApaCompare (
int digitsFirst, DdApaNumber first,
int digitsSecond, DdApaNumber second);
815 extern int Cudd_ApaCompareRatios (
int digitsFirst, DdApaNumber firstNum,
unsigned int firstDen,
int digitsSecond, DdApaNumber secondNum,
unsigned int secondDen);
819 extern DdApaNumber
Cudd_ApaCountMinterm (DdManager *manager, DdNode *node,
int nvars,
int *digits);
823 extern DdNode *
Cudd_UnderApprox (DdManager *dd, DdNode *f,
int numVars,
int threshold,
int safe,
double quality);
824 extern DdNode *
Cudd_OverApprox (DdManager *dd, DdNode *f,
int numVars,
int threshold,
int safe,
double quality);
825 extern DdNode *
Cudd_RemapUnderApprox (DdManager *dd, DdNode *f,
int numVars,
int threshold,
double quality);
826 extern DdNode *
Cudd_RemapOverApprox (DdManager *dd, DdNode *f,
int numVars,
int threshold,
double quality);
827 extern DdNode *
Cudd_BiasedUnderApprox (DdManager *dd, DdNode *f, DdNode *b,
int numVars,
int threshold,
double quality1,
double quality0);
828 extern DdNode *
Cudd_BiasedOverApprox (DdManager *dd, DdNode *f, DdNode *b,
int numVars,
int threshold,
double quality1,
double quality0);
837 extern DdNode *
Cudd_bddIte (DdManager *dd, DdNode *f, DdNode *g, DdNode *h);
838 extern DdNode *
Cudd_bddIteLimit (DdManager *dd, DdNode *f, DdNode *g, DdNode *h,
unsigned int limit);
841 extern DdNode *
Cudd_bddAnd (DdManager *dd, DdNode *f, DdNode *g);
842 extern DdNode *
Cudd_bddAndLimit (DdManager *dd, DdNode *f, DdNode *g,
unsigned int limit);
843 extern DdNode *
Cudd_bddOr (DdManager *dd, DdNode *f, DdNode *g);
844 extern DdNode *
Cudd_bddOrLimit (DdManager *dd, DdNode *f, DdNode *g,
unsigned int limit);
845 extern DdNode *
Cudd_bddNand (DdManager *dd, DdNode *f, DdNode *g);
846 extern DdNode *
Cudd_bddNor (DdManager *dd, DdNode *f, DdNode *g);
847 extern DdNode *
Cudd_bddXor (DdManager *dd, DdNode *f, DdNode *g);
848 extern DdNode *
Cudd_bddXnor (DdManager *dd, DdNode *f, DdNode *g);
849 extern DdNode *
Cudd_bddXnorLimit (DdManager *dd, DdNode *f, DdNode *g,
unsigned int limit);
850 extern int Cudd_bddLeq (DdManager *dd, DdNode *f, DdNode *g);
857 extern DdNode *
Cudd_bddTransfer (DdManager *ddSource, DdManager *ddDestination, DdNode *f);
860 extern DdNode *
Cudd_bddClippingAnd (DdManager *dd, DdNode *f, DdNode *g,
int maxDepth,
int direction);
862 extern DdNode *
Cudd_Cofactor (DdManager *dd, DdNode *f, DdNode *g);
864 extern DdNode *
Cudd_bddCompose (DdManager *dd, DdNode *f, DdNode *g,
int v);
865 extern DdNode *
Cudd_addCompose (DdManager *dd, DdNode *f, DdNode *g,
int v);
866 extern DdNode *
Cudd_addPermute (DdManager *manager, DdNode *node,
int *permut);
868 extern DdNode *
Cudd_bddPermute (DdManager *manager, DdNode *node,
int *permut);
870 extern int Cudd_SetVarMap (DdManager *manager, DdNode **x, DdNode **y,
int n);
891 extern int Cudd_DumpBlif (DdManager *dd,
int n, DdNode **f,
char **inames,
char **onames,
char *mname, FILE *fp,
int mv);
892 extern int Cudd_DumpBlifBody (DdManager *dd,
int n, DdNode **f,
char **inames,
char **onames, FILE *fp,
int mv);
893 extern int Cudd_DumpDot (DdManager *dd,
int n, DdNode **f,
char **inames,
char **onames, FILE *fp);
894 extern int Cudd_DumpDaVinci (DdManager *dd,
int n, DdNode **f,
char **inames,
char **onames, FILE *fp);
895 extern int Cudd_DumpDDcal (DdManager *dd,
int n, DdNode **f,
char **inames,
char **onames, FILE *fp);
896 extern int Cudd_DumpFactoredForm (DdManager *dd,
int n, DdNode **f,
char **inames,
char **onames, FILE *fp);
899 extern DdNode *
Cudd_bddNPAnd (DdManager *dd, DdNode *f, DdNode *c);
910 extern int Cudd_addHarwell (FILE *fp, DdManager *dd, DdNode **
E, DdNode ***x, DdNode ***y, DdNode ***xn, DdNode ***yn_,
int *nx,
int *ny,
int *m,
int *n,
int bx,
int sx,
int by,
int sy,
int pr);
911 extern DdManager *
Cudd_Init (
unsigned int numVars,
unsigned int numVarsZ,
unsigned int numSlots,
unsigned int cacheSize,
unsigned long maxMemory);
912 extern void Cudd_Quit (DdManager *unique);
917 extern DdNode *
Cudd_addTimesPlus (DdManager *dd, DdNode *A, DdNode *B, DdNode **z,
int nz);
918 extern DdNode *
Cudd_addTriangle (DdManager *dd, DdNode *f, DdNode *g, DdNode **z,
int nz);
919 extern DdNode *
Cudd_addOuterSum (DdManager *dd, DdNode *M, DdNode *r, DdNode *c);
920 extern DdNode *
Cudd_PrioritySelect (DdManager *dd, DdNode *R, DdNode **x, DdNode **y, DdNode **z, DdNode *Pi,
int n, DdNode * (*)(DdManager *,
int, DdNode **, DdNode **, DdNode **));
921 extern DdNode *
Cudd_Xgty (DdManager *dd,
int N, DdNode **z, DdNode **x, DdNode **y);
922 extern DdNode *
Cudd_Xeqy (DdManager *dd,
int N, DdNode **x, DdNode **y);
923 extern DdNode *
Cudd_addXeqy (DdManager *dd,
int N, DdNode **x, DdNode **y);
924 extern DdNode *
Cudd_Dxygtdxz (DdManager *dd,
int N, DdNode **x, DdNode **y, DdNode **z);
925 extern DdNode *
Cudd_Dxygtdyz (DdManager *dd,
int N, DdNode **x, DdNode **y, DdNode **z);
926 extern DdNode *
Cudd_Inequality (DdManager * dd,
int N,
int c, DdNode ** x, DdNode ** y);
927 extern DdNode *
Cudd_Disequality (DdManager * dd,
int N,
int c, DdNode ** x, DdNode ** y);
928 extern DdNode *
Cudd_bddInterval (DdManager * dd,
int N, DdNode ** x,
unsigned int lowerB,
unsigned int upperB);
930 extern DdNode *
Cudd_addHamming (DdManager *dd, DdNode **xVars, DdNode **yVars,
int nVars);
933 extern int Cudd_addRead (FILE *fp, DdManager *dd, DdNode **
E, DdNode ***x, DdNode ***y, DdNode ***xn, DdNode ***yn_,
int *nx,
int *ny,
int *m,
int *n,
int bx,
int sx,
int by,
int sy);
934 extern int Cudd_bddRead (FILE *fp, DdManager *dd, DdNode **
E, DdNode ***x, DdNode ***y,
int *nx,
int *ny,
int *m,
int *n,
int bx,
int sx,
int by,
int sy);
942 extern int Cudd_ReduceHeap (DdManager *table, Cudd_ReorderingType heuristic,
int minsize);
944 extern DdNode *
Cudd_Eval (DdManager *dd, DdNode *f,
int *inputs);
945 extern DdNode *
Cudd_ShortestPath (DdManager *manager, DdNode *f,
int *weight,
int *support,
int *length);
946 extern DdNode *
Cudd_LargestCube (DdManager *manager, DdNode *f,
int *length);
950 extern int Cudd_EquivDC (DdManager *dd, DdNode *F, DdNode *G, DdNode *D);
957 extern DdNode *
Cudd_SolveEqn (DdManager * bdd, DdNode *F, DdNode *Y, DdNode **G,
int **yIndex,
int n);
958 extern DdNode *
Cudd_VerifySol (DdManager * bdd, DdNode *F, DdNode **G,
int *yIndex,
int n);
959 extern DdNode *
Cudd_SplitSet (DdManager *manager, DdNode *S, DdNode **xVars,
int n,
double m);
962 extern DdNode *
Cudd_SubsetShortPaths (DdManager *dd, DdNode *f,
int numVars,
int threshold,
int hardlimit);
965 extern unsigned int Cudd_Prime (
unsigned int p);
966 extern int Cudd_Reserve(DdManager *manager,
int amount);
979 extern DdNode *
Cudd_Support (DdManager *dd, DdNode *f);
986 extern int Cudd_ClassifySupport (DdManager *dd, DdNode *f, DdNode *g, DdNode **common, DdNode **onlyF, DdNode **onlyG);
991 extern DdNode *
Cudd_SubsetWithMaskVars (DdManager *dd, DdNode *f, DdNode **vars,
int nvars, DdNode **maskVars,
int mvars);
1009 extern double Cudd_Density (DdManager *dd, DdNode *f,
int nvars);
1013 extern DdNode *
Cudd_zddProduct (DdManager *dd, DdNode *f, DdNode *g);
1015 extern DdNode *
Cudd_zddWeakDiv (DdManager *dd, DdNode *f, DdNode *g);
1016 extern DdNode *
Cudd_zddDivide (DdManager *dd, DdNode *f, DdNode *g);
1018 extern DdNode *
Cudd_zddDivideF (DdManager *dd, DdNode *f, DdNode *g);
1021 extern DdNode *
Cudd_zddIsop (DdManager *dd, DdNode *L, DdNode *U, DdNode **zdd_I);
1022 extern DdNode *
Cudd_bddIsop (DdManager *dd, DdNode *L, DdNode *U);
1029 extern int Cudd_zddReduceHeap (DdManager *table, Cudd_ReorderingType heuristic,
int minsize);
1031 extern DdNode *
Cudd_zddIte (DdManager *dd, DdNode *f, DdNode *g, DdNode *h);
1032 extern DdNode *
Cudd_zddUnion (DdManager *dd, DdNode *P, DdNode *Q);
1034 extern DdNode *
Cudd_zddDiff (DdManager *dd, DdNode *P, DdNode *Q);
1038 extern DdNode *
Cudd_zddChange (DdManager *dd, DdNode *P,
int var);
1047 extern int Cudd_zddDumpDot (DdManager *dd,
int n, DdNode **f,
char **inames,
char **onames, FILE *fp);
void Cudd_UnsetTimeLimit(DdManager *unique)
int Cudd_ReadLinear(DdManager *table, int x, int y)
void Cudd_IterDerefBdd(DdManager *table, DdNode *n)
int Cudd_bddApproxDisjDecomp(DdManager *dd, DdNode *f, DdNode ***disjuncts)
int Cudd_bddSetVarHardGroup(DdManager *dd, int index)
DdNode * Cudd_SubsetHeavyBranch(DdManager *dd, DdNode *f, int numVars, int threshold)
void Cudd_SetOrderRandomization(DdManager *dd, unsigned int factor)
DdNode * Cudd_addBddThreshold(DdManager *dd, DdNode *f, CUDD_VALUE_TYPE value)
void Cudd_tlcInfoFree(DdTlcInfo *t)
unsigned long Cudd_ReadTimeLimit(DdManager *unique)
DdNode * Cudd_addOrAbstract(DdManager *manager, DdNode *f, DdNode *cube)
int Cudd_bddSetVarToBeUngrouped(DdManager *dd, int index)
int Cudd_ReadIthClause(DdTlcInfo *tlc, int i, DdHalfWord *var1, DdHalfWord *var2, int *phase1, int *phase2)
DdNode * Cudd_bddNPAnd(DdManager *dd, DdNode *f, DdNode *c)
DdApaNumber Cudd_NewApaNumber(int digits)
double Cudd_AverageDistance(DdManager *dd)
DdNode * Cudd_SubsetWithMaskVars(DdManager *dd, DdNode *f, DdNode **vars, int nvars, DdNode **maskVars, int mvars)
void Cudd_RecursiveDerefZdd(DdManager *table, DdNode *n)
unsigned short DdHalfWord
void Cudd_SetNumberXovers(DdManager *dd, int numberXovers)
DdNode * Cudd_bddNewVar(DdManager *dd)
unsigned int Cudd_ReadMaxCache(DdManager *dd)
long Cudd_zddReadNodeCount(DdManager *dd)
DdNode * Cudd_FindEssential(DdManager *dd, DdNode *f)
int Cudd_bddSetPiVar(DdManager *dd, int index)
DdNode * Cudd_bddUnivAbstract(DdManager *manager, DdNode *f, DdNode *cube)
DdNode * Cudd_CProjection(DdManager *dd, DdNode *R, DdNode *Y)
DdNode * Cudd_Xeqy(DdManager *dd, int N, DdNode **x, DdNode **y)
int Cudd_bddVarConjDecomp(DdManager *dd, DdNode *f, DdNode ***conjuncts)
int Cudd_CheckCube(DdManager *dd, DdNode *g)
DdNode * Cudd_VerifySol(DdManager *bdd, DdNode *F, DdNode **G, int *yIndex, int n)
double * Cudd_CofMinterm(DdManager *dd, DdNode *node)
struct DdTlcInfo DdTlcInfo
int Cudd_ReorderingStatusZdd(DdManager *unique, Cudd_ReorderingType *method)
DdNode * Cudd_addConstrain(DdManager *dd, DdNode *f, DdNode *c)
unsigned int Cudd_ReadCacheSlots(DdManager *dd)
int Cudd_ApaCompare(int digitsFirst, DdApaNumber first, int digitsSecond, DdApaNumber second)
DdNode * Cudd_addScalarInverse(DdManager *dd, DdNode *f, DdNode *epsilon)
void Cudd_OutOfMem(long size)
DdNode * Cudd_addSwapVariables(DdManager *dd, DdNode *f, DdNode **x, DdNode **y, int n)
DdNode * Cudd_bddPickOneMinterm(DdManager *dd, DdNode *f, DdNode **vars, int n)
DdNode * Cudd_zddDiffConst(DdManager *zdd, DdNode *P, DdNode *Q)
void Cudd_SetMaxCacheHard(DdManager *dd, unsigned int mc)
DdNode * Cudd_zddPortFromBdd(DdManager *dd, DdNode *B)
DdNode * Cudd_bddComputeCube(DdManager *dd, DdNode **vars, int *phase, int n)
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
int Cudd_bddIsVarHardGroup(DdManager *dd, int index)
double Cudd_CountMinterm(DdManager *manager, DdNode *node, int nvars)
void Cudd_SetMaxMemory(DdManager *dd, unsigned long maxMemory)
DdNode * Cudd_bddMaximallyExpand(DdManager *dd, DdNode *lb, DdNode *ub, DdNode *f)
DdNode * Cudd_addLog(DdManager *dd, DdNode *f)
DdNode * Cudd_Dxygtdyz(DdManager *dd, int N, DdNode **x, DdNode **y, DdNode **z)
int Cudd_IsNonConstant(DdNode *f)
int Cudd_ReadSymmviolation(DdManager *dd)
MtrNode * Cudd_MakeZddTreeNode(DdManager *dd, unsigned int low, unsigned int size, unsigned int type)
int Cudd_bddIterDisjDecomp(DdManager *dd, DdNode *f, DdNode ***disjuncts)
DdNode * Cudd_zddComplement(DdManager *dd, DdNode *node)
void Cudd_ResetStartTime(DdManager *unique)
unsigned int Cudd_ReadMinDead(DdManager *dd)
int(* DD_QSFP)(const void *, const void *)
DdNode * Cudd_addCmpl(DdManager *dd, DdNode *f)
DdNode * Cudd_ShortestPath(DdManager *manager, DdNode *f, int *weight, int *support, int *length)
int Cudd_SupportIndices(DdManager *dd, DdNode *f, int **indices)
DdNode ** Cudd_bddConstrainDecomp(DdManager *dd, DdNode *f)
DdNode * Cudd_addOr(DdManager *dd, DdNode **f, DdNode **g)
int Cudd_bddPickOneCube(DdManager *ddm, DdNode *node, char *string)
DdNode * Cudd_zddSubset1(DdManager *dd, DdNode *P, int var)
DdGen * Cudd_FirstNode(DdManager *dd, DdNode *f, DdNode **node)
unsigned int Cudd_ReadMaxCacheHard(DdManager *dd)
int Cudd_ApaPrintDensity(FILE *fp, DdManager *dd, DdNode *node, int nvars)
void Cudd_SetTimeLimit(DdManager *unique, unsigned long tl)
DdNode * Cudd_Support(DdManager *dd, DdNode *f)
void Cudd_Srandom(long seed)
void Cudd_Deref(DdNode *node)
DdNode * Cudd_addNewVarAtLevel(DdManager *dd, int level)
int Cudd_EquivDC(DdManager *dd, DdNode *F, DdNode *G, DdNode *D)
DdNode * Cudd_Xgty(DdManager *dd, int N, DdNode **z, DdNode **x, DdNode **y)
DdNode * Cudd_addComputeCube(DdManager *dd, DdNode **vars, int *phase, int n)
int Cudd_NextPrime(DdGen *gen, int **cube)
DdNode * Cudd_addConst(DdManager *dd, CUDD_VALUE_TYPE c)
void Cudd_SetStdout(DdManager *dd, FILE *fp)
DdNode * Cudd_bddAdjPermuteX(DdManager *dd, DdNode *B, DdNode **x, int n)
DdNode * Cudd_bddIteLimit(DdManager *dd, DdNode *f, DdNode *g, DdNode *h, unsigned int limit)
int Cudd_bddVarIsBound(DdManager *dd, int index)
int Cudd_Reserve(DdManager *manager, int amount)
DdNode * Cudd_addBddPattern(DdManager *dd, DdNode *f)
int Cudd_PrintTwoLiteralClauses(DdManager *dd, DdNode *f, char **names, FILE *fp)
double Cudd_zddCountMinterm(DdManager *zdd, DdNode *node, int path)
unsigned int Cudd_ReadNextReordering(DdManager *dd)
void Cudd_TurnOffCountDead(DdManager *dd)
int Cudd_bddResetVarToBeGrouped(DdManager *dd, int index)
DdNode * Cudd_RemapOverApprox(DdManager *dd, DdNode *f, int numVars, int threshold, double quality)
int Cudd_NextNode(DdGen *gen, DdNode **node)
DdNode * Cudd_ReadLogicZero(DdManager *dd)
int Cudd_zddDagSize(DdNode *p_node)
DdNode * Cudd_addEvalConst(DdManager *dd, DdNode *f, DdNode *g)
DdNode ** Cudd_bddPickArbitraryMinterms(DdManager *dd, DdNode *f, DdNode **vars, int n, int k)
unsigned long Cudd_ReadMaxMemory(DdManager *dd)
DdNode * Cudd_bddExistAbstract(DdManager *manager, DdNode *f, DdNode *cube)
void Cudd_AutodynDisableZdd(DdManager *unique)
DdNode * Cudd_addMonadicApply(DdManager *dd, DdNode *(*op)(DdManager *, DdNode *), DdNode *f)
DdNode * Cudd_bddNor(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_addNor(DdManager *dd, DdNode **f, DdNode **g)
unsigned int Cudd_ReadMinHit(DdManager *dd)
DdNode * Cudd_zddWeakDivF(DdManager *dd, DdNode *f, DdNode *g)
void Cudd_SetRecomb(DdManager *dd, int recomb)
DdNode * Cudd_ReadPlusInfinity(DdManager *dd)
unsigned int Cudd_ReadMaxReorderings(DdManager *dd)
DdNode * Cudd_Decreasing(DdManager *dd, DdNode *f, int i)
void Cudd_SetStartTime(DdManager *unique, unsigned long st)
DdNode * Cudd_BiasedOverApprox(DdManager *dd, DdNode *f, DdNode *b, int numVars, int threshold, double quality1, double quality0)
int Cudd_SetVarMap(DdManager *manager, DdNode **x, DdNode **y, int n)
DdNode * Cudd_addFindMin(DdManager *dd, DdNode *f)
DdNode * Cudd_OverApprox(DdManager *dd, DdNode *f, int numVars, int threshold, int safe, double quality)
void Cudd_SetBackground(DdManager *dd, DdNode *bck)
void Cudd_SetMaxGrowthAlternate(DdManager *dd, double mg)
int Cudd_ShortestLength(DdManager *manager, DdNode *f, int *weight)
DdNode * Cudd_CubeArrayToBdd(DdManager *dd, int *array)
int Cudd_bddSetVarToBeGrouped(DdManager *dd, int index)
DdNode * Cudd_zddPortToBdd(DdManager *dd, DdNode *f)
int Cudd_zddRealignmentEnabled(DdManager *unique)
int Cudd_bddIsNsVar(DdManager *dd, int index)
DdNode * Cudd_bddLargestPrimeUnate(DdManager *dd, DdNode *f, DdNode *phaseBdd)
double Cudd_ReadNodesDropped(DdManager *dd)
Cudd_AggregationType Cudd_ReadGroupcheck(DdManager *dd)
DdNode * Cudd_bddAndAbstractLimit(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube, unsigned int limit)
int Cudd_TimeLimited(DdManager *unique)
DdNode * Cudd_addIteConstant(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
DdNode * Cudd_SupersetShortPaths(DdManager *dd, DdNode *f, int numVars, int threshold, int hardlimit)
int Cudd_ReorderingReporting(DdManager *dd)
DdNode * Cudd_addApply(DdManager *dd, DdNode *(*)(DdManager *, DdNode **, DdNode **), DdNode *f, DdNode *g)
DdNode * Cudd_zddDiff(DdManager *dd, DdNode *P, DdNode *Q)
int Cudd_addHarwell(FILE *fp, DdManager *dd, DdNode **E, DdNode ***x, DdNode ***y, DdNode ***xn, DdNode ***yn_, int *nx, int *ny, int *m, int *n, int bx, int sx, int by, int sy, int pr)
DdNode * Cudd_bddAndLimit(DdManager *dd, DdNode *f, DdNode *g, unsigned int limit)
DdNode * Cudd_bddSwapVariables(DdManager *dd, DdNode *f, DdNode **x, DdNode **y, int n)
DdNode * Cudd_addMaximum(DdManager *dd, DdNode **f, DdNode **g)
DdNode * Cudd_ReadZero(DdManager *dd)
unsigned short int DdApaDigit
int Cudd_IsGenEmpty(DdGen *gen)
DdNode * Cudd_bddLICompaction(DdManager *dd, DdNode *f, DdNode *c)
DdNode * Cudd_bddClosestCube(DdManager *dd, DdNode *f, DdNode *g, int *distance)
int Cudd_bddGenConjDecomp(DdManager *dd, DdNode *f, DdNode ***conjuncts)
DdNode * Cudd_bddIte(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
DdNode * Cudd_addResidue(DdManager *dd, int n, int m, int options, int top)
DdNode * Cudd_bddOrLimit(DdManager *dd, DdNode *f, DdNode *g, unsigned int limit)
DdApaDigit Cudd_ApaAdd(int digits, DdApaNumber a, DdApaNumber b, DdApaNumber sum)
DdNode * Cudd_addXor(DdManager *dd, DdNode **f, DdNode **g)
DdNode * Cudd_zddDivide(DdManager *dd, DdNode *f, DdNode *g)
int Cudd_CountLeaves(DdNode *node)
DdNode * Cudd_SolveEqn(DdManager *bdd, DdNode *F, DdNode *Y, DdNode **G, int **yIndex, int n)
DdNode * Cudd_MakeBddFromZddCover(DdManager *dd, DdNode *node)
DdNode * Cudd_zddChange(DdManager *dd, DdNode *P, int var)
DdNode * Cudd_BiasedUnderApprox(DdManager *dd, DdNode *f, DdNode *b, int numVars, int threshold, double quality1, double quality0)
int Cudd_ReadPeakLiveNodeCount(DdManager *dd)
int Cudd_zddNextPath(DdGen *gen, int **path)
int Cudd_ApaPrintHex(FILE *fp, int digits, DdApaNumber number)
int Cudd_DeadAreCounted(DdManager *dd)
void Cudd_SetLooseUpTo(DdManager *dd, unsigned int lut)
DdNode * Cudd_zddIntersect(DdManager *dd, DdNode *P, DdNode *Q)
void Cudd_SetSiftMaxVar(DdManager *dd, int smv)
DdNode * Cudd_ReadVars(DdManager *dd, int i)
long Cudd_ReadGarbageCollectionTime(DdManager *dd)
DdNode * Cudd_SubsetCompress(DdManager *dd, DdNode *f, int nvars, int threshold)
int Cudd_bddRead(FILE *fp, DdManager *dd, DdNode **E, DdNode ***x, DdNode ***y, int *nx, int *ny, int *m, int *n, int bx, int sx, int by, int sy)
int Cudd_ReadSize(DdManager *dd)
DdNode * Cudd_addDivide(DdManager *dd, DdNode **f, DdNode **g)
DdNode * Cudd_PrioritySelect(DdManager *dd, DdNode *R, DdNode **x, DdNode **y, DdNode **z, DdNode *Pi, int n, DdNode *(*)(DdManager *, int, DdNode **, DdNode **, DdNode **))
DdNode * Cudd_bddInterval(DdManager *dd, int N, DdNode **x, unsigned int lowerB, unsigned int upperB)
DdNode * Cudd_addAgreement(DdManager *dd, DdNode **f, DdNode **g)
int Cudd_NextCube(DdGen *gen, int **cube, CUDD_VALUE_TYPE *value)
int Cudd_ReadInvPerm(DdManager *dd, int i)
int Cudd_bddIsVarEssential(DdManager *manager, DdNode *f, int id, int phase)
DdNode * Cudd_zddIte(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
DdGen * Cudd_zddFirstPath(DdManager *zdd, DdNode *f, int **path)
DdNode * Cudd_bddTransfer(DdManager *ddSource, DdManager *ddDestination, DdNode *f)
void Cudd_FreeTree(DdManager *dd)
DdNode * Cudd_zddProduct(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_bddVectorCompose(DdManager *dd, DdNode *f, DdNode **vector)
long Cudd_ReadReorderingTime(DdManager *dd)
void Cudd_SetZddTree(DdManager *dd, MtrNode *tree)
DdNode * Cudd_addNonSimCompose(DdManager *dd, DdNode *f, DdNode **vector)
DdNode * Cudd_LargestCube(DdManager *manager, DdNode *f, int *length)
unsigned long Cudd_ReadElapsedTime(DdManager *unique)
DdNode * Cudd_bddNand(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_ReadBackground(DdManager *dd)
int Cudd_ApaPrintMintermExp(FILE *fp, DdManager *dd, DdNode *node, int nvars, int precision)
DdNode * Cudd_addCompose(DdManager *dd, DdNode *f, DdNode *g, int v)
int Cudd_addLeq(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_bddIteConstant(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
void Cudd_ClearErrorCode(DdManager *dd)
DdNode * Cudd_bddMinimize(DdManager *dd, DdNode *f, DdNode *c)
DdNode * Cudd_zddUnion(DdManager *dd, DdNode *P, DdNode *Q)
DdNode * Cudd_addBddIthBit(DdManager *dd, DdNode *f, int bit)
DdNode * Cudd_addRoundOff(DdManager *dd, DdNode *f, int N)
int Cudd_ApaPrintExponential(FILE *fp, int digits, DdApaNumber number, int precision)
double Cudd_ReadNodesFreed(DdManager *dd)
void Cudd_SetReorderingCycle(DdManager *dd, int cycle)
MtrNode * Cudd_ReadZddTree(DdManager *dd)
int Cudd_DumpDDcal(DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp)
int Cudd_ReadNumberXovers(DdManager *dd)
DdNode * Cudd_Eval(DdManager *dd, DdNode *f, int *inputs)
int Cudd_bddIsPiVar(DdManager *dd, int index)
DdNode * Cudd_bddVarMap(DdManager *manager, DdNode *f)
DdNode * Cudd_addThreshold(DdManager *dd, DdNode **f, DdNode **g)
DdNode * Cudd_bddLiteralSetIntersection(DdManager *dd, DdNode *f, DdNode *g)
int Cudd_bddBindVar(DdManager *dd, int index)
DdNode * Cudd_IndicesToCube(DdManager *dd, int *array, int n)
void Cudd_EnableGarbageCollection(DdManager *dd)
DdNode * Cudd_addPermute(DdManager *manager, DdNode *node, int *permut)
int Cudd_EstimateCofactorSimple(DdNode *node, int i)
DdGen * Cudd_FirstPrime(DdManager *dd, DdNode *l, DdNode *u, int **cube)
void Cudd_SetEpsilon(DdManager *dd, CUDD_VALUE_TYPE ep)
unsigned int DdApaDoubleDigit
DdNode * Cudd_addIthVar(DdManager *dd, int i)
DdNode * Cudd_bddMakePrime(DdManager *dd, DdNode *cube, DdNode *f)
int Cudd_zddShuffleHeap(DdManager *table, int *permutation)
DdNode * Cudd_SupersetHeavyBranch(DdManager *dd, DdNode *f, int numVars, int threshold)
DdNode * Cudd_addXnor(DdManager *dd, DdNode **f, DdNode **g)
DdNode * Cudd_Cofactor(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_bddExistAbstractLimit(DdManager *manager, DdNode *f, DdNode *cube, unsigned int limit)
int Cudd_ReadPerm(DdManager *dd, int i)
int Cudd_PrintLinear(DdManager *table)
DdNode * Cudd_bddNewVarAtLevel(DdManager *dd, int level)
int Cudd_ShuffleHeap(DdManager *table, int *permutation)
int Cudd_ReorderingStatus(DdManager *unique, Cudd_ReorderingType *method)
int Cudd_PrintInfo(DdManager *dd, FILE *fp)
DdNode * Cudd_bddConstrain(DdManager *dd, DdNode *f, DdNode *c)
DdNode * Cudd_zddSubset0(DdManager *dd, DdNode *P, int var)
double Cudd_bddCorrelation(DdManager *manager, DdNode *f, DdNode *g)
DdNode * Cudd_bddPermute(DdManager *manager, DdNode *node, int *permut)
int Cudd_bddGenDisjDecomp(DdManager *dd, DdNode *f, DdNode ***disjuncts)
MtrNode * Cudd_ReadTree(DdManager *dd)
DdNode * Cudd_bddCompose(DdManager *dd, DdNode *f, DdNode *g, int v)
struct DdChildren DdChildren
void Cudd_ApaSetToLiteral(int digits, DdApaNumber number, DdApaDigit literal)
DdNode * Cudd_addVectorCompose(DdManager *dd, DdNode *f, DdNode **vector)
void Cudd_bddRealignEnable(DdManager *unique)
double Cudd_ReadCacheHits(DdManager *dd)
int Cudd_bddLeqUnless(DdManager *dd, DdNode *f, DdNode *g, DdNode *D)
int Cudd_ReadInvPermZdd(DdManager *dd, int i)
double Cudd_CountPath(DdNode *node)
DdTlcInfo * Cudd_FindTwoLiteralClauses(DdManager *dd, DdNode *f)
int Cudd_zddPrintDebug(DdManager *zdd, DdNode *f, int n, int pr)
void Cudd_SetNextReordering(DdManager *dd, unsigned int next)
int Cudd_PrintMinterm(DdManager *manager, DdNode *node)
int(* DD_HFP)(DdManager *, const char *, void *)
double Cudd_ReadUsedSlots(DdManager *dd)
DdNode * Cudd_addPlus(DdManager *dd, DdNode **f, DdNode **g)
void Cudd_SymmProfile(DdManager *table, int lower, int upper)
double Cudd_ReadCacheUsedSlots(DdManager *dd)
DdNode * Cudd_addBddInterval(DdManager *dd, DdNode *f, CUDD_VALUE_TYPE lower, CUDD_VALUE_TYPE upper)
int Cudd_ReadZddSize(DdManager *dd)
DdManager * Cudd_Init(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory)
DdNode * Cudd_RemapUnderApprox(DdManager *dd, DdNode *f, int numVars, int threshold, double quality)
int Cudd_bddIsPsVar(DdManager *dd, int index)
DdNode * Cudd_addIthBit(DdManager *dd, DdNode *f, int bit)
void Cudd_zddRealignEnable(DdManager *unique)
int Cudd_bddSetNsVar(DdManager *dd, int index)
int Cudd_ReadRecomb(DdManager *dd)
DdNode * Cudd_BddToAdd(DdManager *dd, DdNode *B)
Cudd_ErrorType Cudd_ReadErrorCode(DdManager *dd)
DdNode * Cudd_zddWeakDiv(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_bddXorExistAbstract(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube)
int Cudd_StdPreReordHook(DdManager *dd, const char *str, void *data)
int Cudd_zddCount(DdManager *zdd, DdNode *P)
int Cudd_ClassifySupport(DdManager *dd, DdNode *f, DdNode *g, DdNode **common, DdNode **onlyF, DdNode **onlyG)
int Cudd_DebugCheck(DdManager *table)
int Cudd_bddVarDisjDecomp(DdManager *dd, DdNode *f, DdNode ***disjuncts)
DdNode * Cudd_zddIsop(DdManager *dd, DdNode *L, DdNode *U, DdNode **zdd_I)
DdNode * Cudd_addSetNZ(DdManager *dd, DdNode **f, DdNode **g)
void Cudd_ApaPowerOfTwo(int digits, DdApaNumber number, int power)
DdNode * Cudd_bddAndAbstract(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube)
void Cudd_SetMaxReorderings(DdManager *dd, unsigned int mr)
int Cudd_addRead(FILE *fp, DdManager *dd, DdNode **E, DdNode ***x, DdNode ***y, DdNode ***xn, DdNode ***yn_, int *nx, int *ny, int *m, int *n, int bx, int sx, int by, int sy)
DdNode * Cudd_bddClippingAnd(DdManager *dd, DdNode *f, DdNode *g, int maxDepth, int direction)
double Cudd_ReadSwapSteps(DdManager *dd)
DdNode * Cudd_bddRestrict(DdManager *dd, DdNode *f, DdNode *c)
DdNode * Cudd_bddBooleanDiff(DdManager *manager, DdNode *f, int x)
MtrNode * Cudd_MakeTreeNode(DdManager *dd, unsigned int low, unsigned int size, unsigned int type)
void Cudd_SetMinHit(DdManager *dd, unsigned int hr)
DdNode * Cudd_bddXnor(DdManager *dd, DdNode *f, DdNode *g)
void Cudd_AutodynEnableZdd(DdManager *unique, Cudd_ReorderingType method)
DdNode * Cudd_bddOr(DdManager *dd, DdNode *f, DdNode *g)
void Cudd_SetPopulationSize(DdManager *dd, int populationSize)
int Cudd_bddIsVarToBeUngrouped(DdManager *dd, int index)
DdNode * Cudd_addNegate(DdManager *dd, DdNode *f)
int Cudd_EnableOrderingMonitoring(DdManager *dd)
void Cudd_SetArcviolation(DdManager *dd, int arcviolation)
void Cudd_SetSymmviolation(DdManager *dd, int symmviolation)
DdApaDigit Cudd_ApaSubtract(int digits, DdApaNumber a, DdApaNumber b, DdApaNumber diff)
int Cudd_EqualSupNorm(DdManager *dd, DdNode *f, DdNode *g, CUDD_VALUE_TYPE tolerance, int pr)
int Cudd_EstimateCofactor(DdManager *dd, DdNode *node, int i, int phase)
void Cudd_UpdateTimeLimit(DdManager *unique)
DdNode * Cudd_Increasing(DdManager *dd, DdNode *f, int i)
int Cudd_bddVarIsDependent(DdManager *dd, DdNode *f, DdNode *var)
void Cudd_zddPrintSubtable(DdManager *table)
unsigned int Cudd_ReadOrderRandomization(DdManager *dd)
int Cudd_ApaPrintDecimal(FILE *fp, int digits, DdApaNumber number)
int Cudd_PrintDebug(DdManager *dd, DdNode *f, int n, int pr)
void Cudd_SetTree(DdManager *dd, MtrNode *tree)
int Cudd_RemoveHook(DdManager *dd, DD_HFP f, Cudd_HookType where)
DdNode * Cudd_bddClippingAndAbstract(DdManager *dd, DdNode *f, DdNode *g, DdNode *cube, int maxDepth, int direction)
int Cudd_bddPrintCover(DdManager *dd, DdNode *l, DdNode *u)
int Cudd_CheckZeroRef(DdManager *manager)
void Cudd_AutodynDisable(DdManager *unique)
DdNode * Cudd_zddUnateProduct(DdManager *dd, DdNode *f, DdNode *g)
DdNode ** Cudd_bddCharToVect(DdManager *dd, DdNode *f)
DdNode * Cudd_ReadZddOne(DdManager *dd, int i)
DdNode * Cudd_addGeneralVectorCompose(DdManager *dd, DdNode *f, DdNode **vectorOn, DdNode **vectorOff)
unsigned int Cudd_ReadLooseUpTo(DdManager *dd)
unsigned long Cudd_ReadStartTime(DdManager *unique)
DdNode * Cudd_bddIsop(DdManager *dd, DdNode *L, DdNode *U)
int Cudd_zddReduceHeap(DdManager *table, Cudd_ReorderingType heuristic, int minsize)
DdNode * Cudd_Dxygtdxz(DdManager *dd, int N, DdNode **x, DdNode **y, DdNode **z)
int Cudd_EnableReorderingReporting(DdManager *dd)
int Cudd_bddIsVarToBeGrouped(DdManager *dd, int index)
DdNode * Cudd_ReadOne(DdManager *dd)
int Cudd_bddLeq(DdManager *dd, DdNode *f, DdNode *g)
long Cudd_ReadNodeCount(DdManager *dd)
double Cudd_ReadUniqueLinks(DdManager *dd)
DdNode * Cudd_ReadMinusInfinity(DdManager *dd)
double Cudd_CountPathsToNonZero(DdNode *node)
DdNode * Cudd_addIte(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
DdNode * Cudd_Inequality(DdManager *dd, int N, int c, DdNode **x, DdNode **y)
DdNode * Cudd_addFindMax(DdManager *dd, DdNode *f)
void Cudd_DisableGarbageCollection(DdManager *dd)
DdNode * Cudd_zddDivideF(DdManager *dd, DdNode *f, DdNode *g)
double Cudd_ReadCacheLookUps(DdManager *dd)
int Cudd_bddApproxConjDecomp(DdManager *dd, DdNode *f, DdNode ***conjuncts)
FILE * Cudd_ReadStderr(DdManager *dd)
DdNode * Cudd_addRestrict(DdManager *dd, DdNode *f, DdNode *c)
DdNode * Cudd_addTriangle(DdManager *dd, DdNode *f, DdNode *g, DdNode **z, int nz)
int Cudd_DumpBlif(DdManager *dd, int n, DdNode **f, char **inames, char **onames, char *mname, FILE *fp, int mv)
DdNode * Cudd_SubsetShortPaths(DdManager *dd, DdNode *f, int numVars, int threshold, int hardlimit)
DdNode * Cudd_addMinus(DdManager *dd, DdNode **f, DdNode **g)
int Cudd_bddSetPsVar(DdManager *dd, int index)
double Cudd_Density(DdManager *dd, DdNode *f, int nvars)
unsigned int Cudd_ReadMaxLive(DdManager *dd)
int Cudd_ApaCompareRatios(int digitsFirst, DdApaNumber firstNum, unsigned int firstDen, int digitsSecond, DdApaNumber secondNum, unsigned int secondDen)
DdNode * Cudd_UnderApprox(DdManager *dd, DdNode *f, int numVars, int threshold, int safe, double quality)
void Cudd_ApaCopy(int digits, DdApaNumber source, DdApaNumber dest)
unsigned int Cudd_NodeReadIndex(DdNode *node)
unsigned int Cudd_Prime(unsigned int p)
int Cudd_zddPrintMinterm(DdManager *zdd, DdNode *node)
int Cudd_AddHook(DdManager *dd, DD_HFP f, Cudd_HookType where)
int Cudd_ReadReorderingCycle(DdManager *dd)
int Cudd_VectorSupportIndices(DdManager *dd, DdNode **F, int n, int **indices)
DdNode * Cudd_bddIthVar(DdManager *dd, int i)
int Cudd_bddSetPairIndex(DdManager *dd, int index, int pairIndex)
void Cudd_IncreaseTimeLimit(DdManager *unique, unsigned long increase)
int Cudd_CheckKeys(DdManager *table)
DdNode * Cudd_bddXor(DdManager *dd, DdNode *f, DdNode *g)
unsigned int Cudd_ReadReorderings(DdManager *dd)
DdNode * Cudd_addOuterSum(DdManager *dd, DdNode *M, DdNode *r, DdNode *c)
void Cudd_SetGroupcheck(DdManager *dd, Cudd_AggregationType gc)
int Cudd_GenFree(DdGen *gen)
DdNode * Cudd_addTimesPlus(DdManager *dd, DdNode *A, DdNode *B, DdNode **z, int nz)
void Cudd_bddRealignDisable(DdManager *unique)
DdGen * Cudd_FirstCube(DdManager *dd, DdNode *f, int **cube, CUDD_VALUE_TYPE *value)
int * Cudd_SupportIndex(DdManager *dd, DdNode *f)
int Cudd_VectorSupportSize(DdManager *dd, DdNode **F, int n)
unsigned int Cudd_ReadKeys(DdManager *dd)
void Cudd_SetMaxGrowth(DdManager *dd, double mg)
int Cudd_IsInHook(DdManager *dd, DD_HFP f, Cudd_HookType where)
int Cudd_bddUnbindVar(DdManager *dd, int index)
int Cudd_bddReadPairIndex(DdManager *dd, int index)
DdNode * Cudd_bddAnd(DdManager *dd, DdNode *f, DdNode *g)
unsigned long Cudd_ReadMemoryInUse(DdManager *dd)
int Cudd_bddRealignmentEnabled(DdManager *unique)
void Cudd_DelayedDerefBdd(DdManager *table, DdNode *n)
DdNode * Cudd_zddIthVar(DdManager *dd, int i)
int Cudd_ReadPopulationSize(DdManager *dd)
int Cudd_DumpBlifBody(DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp, int mv)
int Cudd_PrintGroupedOrder(DdManager *dd, const char *str, void *data)
unsigned int Cudd_ApaIntDivision(int digits, DdApaNumber dividend, unsigned int divisor, DdApaNumber quotient)
DdNode * Cudd_addDiff(DdManager *dd, DdNode **f, DdNode **g)
void Cudd_zddSymmProfile(DdManager *table, int lower, int upper)
DdNode * Cudd_SupersetCompress(DdManager *dd, DdNode *f, int nvars, int threshold)
int Cudd_DumpDot(DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp)
int Cudd_zddVarsFromBddVars(DdManager *dd, int multiplicity)
int Cudd_ApaPrintMinterm(FILE *fp, DdManager *dd, DdNode *node, int nvars)
int Cudd_zddPrintCover(DdManager *zdd, DdNode *node)
int * Cudd_VectorSupportIndex(DdManager *dd, DdNode **F, int n)
int Cudd_ReadPermZdd(DdManager *dd, int i)
void Cudd_FreeZddTree(DdManager *dd)
double Cudd_zddCountDouble(DdManager *zdd, DdNode *P)
void Cudd_Quit(DdManager *unique)
int Cudd_ReduceHeap(DdManager *table, Cudd_ReorderingType heuristic, int minsize)
void Cudd_AutodynEnable(DdManager *unique, Cudd_ReorderingType method)
double Cudd_ReadMaxGrowthAlternate(DdManager *dd)
DdNode * Cudd_addExistAbstract(DdManager *manager, DdNode *f, DdNode *cube)
int Cudd_ApaNumberOfDigits(int binaryDigits)
DdNode * Cudd_addUnivAbstract(DdManager *manager, DdNode *f, DdNode *cube)
void Cudd_TurnOnCountDead(DdManager *dd)
double Cudd_bddCorrelationWeights(DdManager *manager, DdNode *f, DdNode *g, double *prob)
DdNode * Cudd_addHamming(DdManager *dd, DdNode **xVars, DdNode **yVars, int nVars)
DdApaNumber Cudd_ApaCountMinterm(DdManager *manager, DdNode *node, int nvars, int *digits)
long Cudd_ReadPeakNodeCount(DdManager *dd)
DdApaDigit Cudd_ApaShortDivision(int digits, DdApaNumber dividend, DdApaDigit divisor, DdApaNumber quotient)
int Cudd_DumpFactoredForm(DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp)
DdNode * Cudd_addMatrixMultiply(DdManager *dd, DdNode *A, DdNode *B, DdNode **z, int nz)
int Cudd_ReadSiftMaxSwap(DdManager *dd)
DdNode * Cudd_addNand(DdManager *dd, DdNode **f, DdNode **g)
unsigned int Cudd_ReadDead(DdManager *dd)
void Cudd_ApaShiftRight(int digits, DdApaDigit in, DdApaNumber a, DdApaNumber b)
DdNode * Cudd_addTimes(DdManager *dd, DdNode **f, DdNode **g)
int Cudd_StdPostReordHook(DdManager *dd, const char *str, void *data)
DdNode * Cudd_addNewVar(DdManager *dd)
int Cudd_DisableOrderingMonitoring(DdManager *dd)
int Cudd_ReadSiftMaxVar(DdManager *dd)
double Cudd_ReadMaxGrowth(DdManager *dd)
int Cudd_GarbageCollectionEnabled(DdManager *dd)
int Cudd_SupportSize(DdManager *dd, DdNode *f)
void Cudd_SetSiftMaxSwap(DdManager *dd, int sms)
unsigned int Cudd_ReadSlots(DdManager *dd)
int Cudd_MinHammingDist(DdManager *dd, DdNode *f, int *minterm, int upperBound)
FILE * Cudd_ReadStdout(DdManager *dd)
int Cudd_DumpDaVinci(DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp)
DdNode * Cudd_SplitSet(DdManager *manager, DdNode *S, DdNode **xVars, int n, double m)
DdNode * Cudd_bddIntersect(DdManager *dd, DdNode *f, DdNode *g)
DdNode * Cudd_addWalsh(DdManager *dd, DdNode **x, DdNode **y, int n)
int Cudd_SharingSize(DdNode **nodeArray, int n)
DdNode * Cudd_Disequality(DdManager *dd, int N, int c, DdNode **x, DdNode **y)
DdNode * Cudd_addMinimum(DdManager *dd, DdNode **f, DdNode **g)
void Cudd_SetMaxLive(DdManager *dd, unsigned int maxLive)
int Cudd_EpdCountMinterm(DdManager *manager, DdNode *node, int nvars, EpDouble *epd)
void Cudd_SetStderr(DdManager *dd, FILE *fp)
int Cudd_ReadGarbageCollections(DdManager *dd)
CUDD_VALUE_TYPE Cudd_ReadEpsilon(DdManager *dd)
DdNode * Cudd_zddSupport(DdManager *dd, DdNode *f)
DdNode * Cudd_addOneZeroMaximum(DdManager *dd, DdNode **f, DdNode **g)
DdNode * Cudd_addBddStrictThreshold(DdManager *dd, DdNode *f, CUDD_VALUE_TYPE value)
void Cudd_zddRealignDisable(DdManager *unique)
DdNode * Cudd_VectorSupport(DdManager *dd, DdNode **F, int n)
int Cudd_DisableReorderingReporting(DdManager *dd)
double Cudd_ExpectedUsedSlots(DdManager *dd)
DdNode * Cudd_bddSqueeze(DdManager *dd, DdNode *l, DdNode *u)
int Cudd_BddToCubeArray(DdManager *dd, DdNode *cube, int *array)
int Cudd_bddIterConjDecomp(DdManager *dd, DdNode *f, DdNode ***conjuncts)
DdNode * Cudd_addXeqy(DdManager *dd, int N, DdNode **x, DdNode **y)
int Cudd_DagSize(DdNode *node)
DdNode * Cudd_bddXnorLimit(DdManager *dd, DdNode *f, DdNode *g, unsigned int limit)
char * Cudd_zddCoverPathToString(DdManager *zdd, int *path, char *str)
int Cudd_OrderingMonitoring(DdManager *dd)
double Cudd_ReadUniqueLookUps(DdManager *dd)
int Cudd_zddDumpDot(DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp)
void Cudd_PrintVersion(FILE *fp)
double Cudd_ReadRecursiveCalls(DdManager *dd)
int Cudd_ReadArcviolation(DdManager *dd)