SVF
cudd.h
Go to the documentation of this file.
1 
57 #ifndef _CUDD
58 #define _CUDD
59 
60 /*---------------------------------------------------------------------------*/
61 /* Nested includes */
62 /*---------------------------------------------------------------------------*/
63 
64 #include "mtr.h"
65 #include "epd.h"
66 
67 #ifdef __cplusplus
68 extern "C" {
69 #endif
70 
71 /*---------------------------------------------------------------------------*/
72 /* Constant declarations */
73 /*---------------------------------------------------------------------------*/
74 
75 #define CUDD_VERSION "2.5.0"
76 
77 #ifndef SIZEOF_VOID_P
78 #define SIZEOF_VOID_P 4
79 #endif
80 #ifndef SIZEOF_INT
81 #define SIZEOF_INT 4
82 #endif
83 #ifndef SIZEOF_LONG
84 #define SIZEOF_LONG 4
85 #endif
86 
87 #define CUDD_TRUE 1
88 #define CUDD_FALSE 0
89 
90 #define CUDD_VALUE_TYPE double
91 #define CUDD_OUT_OF_MEM -1
92 /* The sizes of the subtables and the cache must be powers of two. */
93 #define CUDD_UNIQUE_SLOTS 256 /* initial size of subtables */
94 #define CUDD_CACHE_SLOTS 262144 /* default size of the cache */
95 
96 /* Constants for residue functions. */
97 #define CUDD_RESIDUE_DEFAULT 0
98 #define CUDD_RESIDUE_MSB 1
99 #define CUDD_RESIDUE_TC 2
100 
101 /* CUDD_MAXINDEX is defined in such a way that on 32-bit and 64-bit
102 ** machines one can cast an index to (int) without generating a negative
103 ** number.
104 */
105 #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4
106 #define CUDD_MAXINDEX (((DdHalfWord) ~0) >> 1)
107 #else
108 #define CUDD_MAXINDEX ((DdHalfWord) ~0)
109 #endif
110 
111 /* CUDD_CONST_INDEX is the index of constant nodes. Currently this
112 ** is a synonim for CUDD_MAXINDEX. */
113 #define CUDD_CONST_INDEX CUDD_MAXINDEX
114 
115 /* These constants define the digits used in the representation of
116 ** arbitrary precision integers. The configurations tested use 8, 16,
117 ** and 32 bits for each digit. The typedefs should be in agreement
118 ** with these definitions.
119 */
120 #if SIZEOF_LONG == 8
121 #define DD_APA_BITS 32
122 #define DD_APA_BASE (1L << DD_APA_BITS)
123 #define DD_APA_HEXPRINT "%08x"
124 #else
125 #define DD_APA_BITS 16
126 #define DD_APA_BASE (1 << DD_APA_BITS)
127 #define DD_APA_HEXPRINT "%04x"
128 #endif
129 #define DD_APA_MASK (DD_APA_BASE - 1)
130 
131 /*---------------------------------------------------------------------------*/
132 /* Stucture declarations */
133 /*---------------------------------------------------------------------------*/
134 
135 
136 /*---------------------------------------------------------------------------*/
137 /* Type declarations */
138 /*---------------------------------------------------------------------------*/
139 
147 typedef enum {
171 
172 
180 typedef enum {
192 
193 
201 typedef enum {
206 } Cudd_HookType;
207 
208 
216 typedef enum {
225 
226 
234 typedef enum {
240 
241 
249 typedef enum {
254 
255 
256 #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4
257 typedef unsigned int DdHalfWord;
258 #else
259 typedef unsigned short DdHalfWord;
260 #endif
261 
262 typedef struct DdNode DdNode;
263 
264 typedef struct DdChildren {
265  struct DdNode *T;
266  struct DdNode *E;
267 } DdChildren;
268 
269 /* The DdNode structure is the only one exported out of the package */
270 struct DdNode {
271  DdHalfWord index;
272  DdHalfWord ref; /* reference count */
273  DdNode *next; /* next pointer for unique table */
274  union {
275  CUDD_VALUE_TYPE value; /* for constant nodes */
276  DdChildren kids; /* for internal nodes */
277  } type;
278 };
279 
280 typedef struct DdManager DdManager;
281 
282 typedef struct DdGen DdGen;
283 
284 /* These typedefs for arbitrary precision arithmetic should agree with
285 ** the corresponding constant definitions above. */
286 #if SIZEOF_LONG == 8
287 typedef unsigned int DdApaDigit;
288 typedef unsigned long int DdApaDoubleDigit;
289 #else
290 typedef unsigned short int DdApaDigit;
291 typedef unsigned int DdApaDoubleDigit;
292 #endif
293 typedef DdApaDigit * DdApaNumber;
294 
295 /* Return type for function computing two-literal clauses. */
296 typedef struct DdTlcInfo DdTlcInfo;
297 
298 /* Type of hook function. */
299 typedef int (*DD_HFP)(DdManager *, const char *, void *);
300 /* Type of priority function */
301 typedef DdNode * (*DD_PRFP)(DdManager * , int, DdNode **, DdNode **,
302  DdNode **);
303 /* Type of apply operator. */
304 typedef DdNode * (*DD_AOP)(DdManager *, DdNode **, DdNode **);
305 /* Type of monadic apply operator. */
306 typedef DdNode * (*DD_MAOP)(DdManager *, DdNode *);
307 /* Types of cache tag functions. */
308 typedef DdNode * (*DD_CTFP)(DdManager *, DdNode *, DdNode *);
309 typedef DdNode * (*DD_CTFP1)(DdManager *, DdNode *);
310 /* Type of memory-out function. */
311 typedef void (*DD_OOMFP)(long);
312 /* Type of comparison function for qsort. */
313 typedef int (*DD_QSFP)(const void *, const void *);
314 
315 /*---------------------------------------------------------------------------*/
316 /* Variable declarations */
317 /*---------------------------------------------------------------------------*/
318 
319 
320 /*---------------------------------------------------------------------------*/
321 /* Macro declarations */
322 /*---------------------------------------------------------------------------*/
323 
324 
339 #define Cudd_IsConstant(node) ((Cudd_Regular(node))->index == CUDD_CONST_INDEX)
340 
341 
354 #define Cudd_Not(node) ((DdNode *)((long)(node) ^ 01))
355 
356 
370 #define Cudd_NotCond(node,c) ((DdNode *)((long)(node) ^ (c)))
371 
372 
384 #define Cudd_Regular(node) ((DdNode *)((unsigned long)(node) & ~01))
385 
386 
398 #define Cudd_Complement(node) ((DdNode *)((unsigned long)(node) | 01))
399 
400 
412 #define Cudd_IsComplement(node) ((int) ((long) (node) & 01))
413 
414 
427 #define Cudd_T(node) ((Cudd_Regular(node))->type.kids.T)
428 
429 
442 #define Cudd_E(node) ((Cudd_Regular(node))->type.kids.E)
443 
444 
457 #define Cudd_V(node) ((Cudd_Regular(node))->type.value)
458 
459 
474 #define Cudd_ReadIndex(dd,index) (Cudd_ReadPerm(dd,index))
475 
476 
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))
510 
511 
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))
542 
543 
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))
576 
577 
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))
610 
611 
612 
615 /*---------------------------------------------------------------------------*/
616 /* Function prototypes */
617 /*---------------------------------------------------------------------------*/
618 
619 extern DdNode * Cudd_addNewVar (DdManager *dd);
620 extern DdNode * Cudd_addNewVarAtLevel (DdManager *dd, int level);
621 extern DdNode * Cudd_bddNewVar (DdManager *dd);
622 extern DdNode * Cudd_bddNewVarAtLevel (DdManager *dd, int level);
623 extern DdNode * Cudd_addIthVar (DdManager *dd, int i);
624 extern DdNode * Cudd_bddIthVar (DdManager *dd, int i);
625 extern DdNode * Cudd_zddIthVar (DdManager *dd, int i);
626 extern int Cudd_zddVarsFromBddVars (DdManager *dd, int multiplicity);
627 extern DdNode * Cudd_addConst (DdManager *dd, CUDD_VALUE_TYPE c);
628 extern int Cudd_IsNonConstant (DdNode *f);
629 extern unsigned long Cudd_ReadStartTime(DdManager *unique);
630 extern unsigned long Cudd_ReadElapsedTime(DdManager *unique);
631 extern void Cudd_SetStartTime(DdManager *unique, unsigned long st);
632 extern void Cudd_ResetStartTime(DdManager *unique);
633 extern unsigned long Cudd_ReadTimeLimit(DdManager *unique);
634 extern void Cudd_SetTimeLimit(DdManager *unique, unsigned long tl);
635 extern void Cudd_UpdateTimeLimit(DdManager * unique);
636 extern void Cudd_IncreaseTimeLimit(DdManager * unique, unsigned long increase);
637 extern void Cudd_UnsetTimeLimit(DdManager *unique);
638 extern int Cudd_TimeLimited(DdManager *unique);
639 extern void Cudd_AutodynEnable (DdManager *unique, Cudd_ReorderingType method);
640 extern void Cudd_AutodynDisable (DdManager *unique);
641 extern int Cudd_ReorderingStatus (DdManager *unique, Cudd_ReorderingType *method);
642 extern void Cudd_AutodynEnableZdd (DdManager *unique, Cudd_ReorderingType method);
643 extern void Cudd_AutodynDisableZdd (DdManager *unique);
644 extern int Cudd_ReorderingStatusZdd (DdManager *unique, Cudd_ReorderingType *method);
645 extern int Cudd_zddRealignmentEnabled (DdManager *unique);
646 extern void Cudd_zddRealignEnable (DdManager *unique);
647 extern void Cudd_zddRealignDisable (DdManager *unique);
648 extern int Cudd_bddRealignmentEnabled (DdManager *unique);
649 extern void Cudd_bddRealignEnable (DdManager *unique);
650 extern void Cudd_bddRealignDisable (DdManager *unique);
651 extern DdNode * Cudd_ReadOne (DdManager *dd);
652 extern DdNode * Cudd_ReadZddOne (DdManager *dd, int i);
653 extern DdNode * Cudd_ReadZero (DdManager *dd);
654 extern DdNode * Cudd_ReadLogicZero (DdManager *dd);
655 extern DdNode * Cudd_ReadPlusInfinity (DdManager *dd);
656 extern DdNode * Cudd_ReadMinusInfinity (DdManager *dd);
657 extern DdNode * Cudd_ReadBackground (DdManager *dd);
658 extern void Cudd_SetBackground (DdManager *dd, DdNode *bck);
659 extern unsigned int Cudd_ReadCacheSlots (DdManager *dd);
660 extern double Cudd_ReadCacheUsedSlots (DdManager * dd);
661 extern double Cudd_ReadCacheLookUps (DdManager *dd);
662 extern double Cudd_ReadCacheHits (DdManager *dd);
663 extern double Cudd_ReadRecursiveCalls (DdManager * dd);
664 extern unsigned int Cudd_ReadMinHit (DdManager *dd);
665 extern void Cudd_SetMinHit (DdManager *dd, unsigned int hr);
666 extern unsigned int Cudd_ReadLooseUpTo (DdManager *dd);
667 extern void Cudd_SetLooseUpTo (DdManager *dd, unsigned int lut);
668 extern unsigned int Cudd_ReadMaxCache (DdManager *dd);
669 extern unsigned int Cudd_ReadMaxCacheHard (DdManager *dd);
670 extern void Cudd_SetMaxCacheHard (DdManager *dd, unsigned int mc);
671 extern int Cudd_ReadSize (DdManager *dd);
672 extern int Cudd_ReadZddSize (DdManager *dd);
673 extern unsigned int Cudd_ReadSlots (DdManager *dd);
674 extern double Cudd_ReadUsedSlots (DdManager * dd);
675 extern double Cudd_ExpectedUsedSlots (DdManager * dd);
676 extern unsigned int Cudd_ReadKeys (DdManager *dd);
677 extern unsigned int Cudd_ReadDead (DdManager *dd);
678 extern unsigned int Cudd_ReadMinDead (DdManager *dd);
679 extern unsigned int Cudd_ReadReorderings (DdManager *dd);
680 extern unsigned int Cudd_ReadMaxReorderings (DdManager *dd);
681 extern void Cudd_SetMaxReorderings (DdManager *dd, unsigned int mr);
682 extern long Cudd_ReadReorderingTime (DdManager * dd);
683 extern int Cudd_ReadGarbageCollections (DdManager * dd);
684 extern long Cudd_ReadGarbageCollectionTime (DdManager * dd);
685 extern double Cudd_ReadNodesFreed (DdManager * dd);
686 extern double Cudd_ReadNodesDropped (DdManager * dd);
687 extern double Cudd_ReadUniqueLookUps (DdManager * dd);
688 extern double Cudd_ReadUniqueLinks (DdManager * dd);
689 extern int Cudd_ReadSiftMaxVar (DdManager *dd);
690 extern void Cudd_SetSiftMaxVar (DdManager *dd, int smv);
691 extern int Cudd_ReadSiftMaxSwap (DdManager *dd);
692 extern void Cudd_SetSiftMaxSwap (DdManager *dd, int sms);
693 extern double Cudd_ReadMaxGrowth (DdManager *dd);
694 extern void Cudd_SetMaxGrowth (DdManager *dd, double mg);
695 extern double Cudd_ReadMaxGrowthAlternate (DdManager * dd);
696 extern void Cudd_SetMaxGrowthAlternate (DdManager * dd, double mg);
697 extern int Cudd_ReadReorderingCycle (DdManager * dd);
698 extern void Cudd_SetReorderingCycle (DdManager * dd, int cycle);
699 extern MtrNode * Cudd_ReadTree (DdManager *dd);
700 extern void Cudd_SetTree (DdManager *dd, MtrNode *tree);
701 extern void Cudd_FreeTree (DdManager *dd);
702 extern MtrNode * Cudd_ReadZddTree (DdManager *dd);
703 extern void Cudd_SetZddTree (DdManager *dd, MtrNode *tree);
704 extern void Cudd_FreeZddTree (DdManager *dd);
705 extern unsigned int Cudd_NodeReadIndex (DdNode *node);
706 extern int Cudd_ReadPerm (DdManager *dd, int i);
707 extern int Cudd_ReadPermZdd (DdManager *dd, int i);
708 extern int Cudd_ReadInvPerm (DdManager *dd, int i);
709 extern int Cudd_ReadInvPermZdd (DdManager *dd, int i);
710 extern DdNode * Cudd_ReadVars (DdManager *dd, int i);
711 extern CUDD_VALUE_TYPE Cudd_ReadEpsilon (DdManager *dd);
712 extern void Cudd_SetEpsilon (DdManager *dd, CUDD_VALUE_TYPE ep);
713 extern Cudd_AggregationType Cudd_ReadGroupcheck (DdManager *dd);
714 extern void Cudd_SetGroupcheck (DdManager *dd, Cudd_AggregationType gc);
715 extern int Cudd_GarbageCollectionEnabled (DdManager *dd);
716 extern void Cudd_EnableGarbageCollection (DdManager *dd);
717 extern void Cudd_DisableGarbageCollection (DdManager *dd);
718 extern int Cudd_DeadAreCounted (DdManager *dd);
719 extern void Cudd_TurnOnCountDead (DdManager *dd);
720 extern void Cudd_TurnOffCountDead (DdManager *dd);
721 extern int Cudd_ReadRecomb (DdManager *dd);
722 extern void Cudd_SetRecomb (DdManager *dd, int recomb);
723 extern int Cudd_ReadSymmviolation (DdManager *dd);
724 extern void Cudd_SetSymmviolation (DdManager *dd, int symmviolation);
725 extern int Cudd_ReadArcviolation (DdManager *dd);
726 extern void Cudd_SetArcviolation (DdManager *dd, int arcviolation);
727 extern int Cudd_ReadPopulationSize (DdManager *dd);
728 extern void Cudd_SetPopulationSize (DdManager *dd, int populationSize);
729 extern int Cudd_ReadNumberXovers (DdManager *dd);
730 extern void Cudd_SetNumberXovers (DdManager *dd, int numberXovers);
731 extern unsigned int Cudd_ReadOrderRandomization(DdManager * dd);
732 extern void Cudd_SetOrderRandomization(DdManager * dd, unsigned int factor);
733 extern unsigned long Cudd_ReadMemoryInUse (DdManager *dd);
734 extern int Cudd_PrintInfo (DdManager *dd, FILE *fp);
735 extern long Cudd_ReadPeakNodeCount (DdManager *dd);
736 extern int Cudd_ReadPeakLiveNodeCount (DdManager * dd);
737 extern long Cudd_ReadNodeCount (DdManager *dd);
738 extern long Cudd_zddReadNodeCount (DdManager *dd);
739 extern int Cudd_AddHook (DdManager *dd, DD_HFP f, Cudd_HookType where);
740 extern int Cudd_RemoveHook (DdManager *dd, DD_HFP f, Cudd_HookType where);
741 extern int Cudd_IsInHook (DdManager * dd, DD_HFP f, Cudd_HookType where);
742 extern int Cudd_StdPreReordHook (DdManager *dd, const char *str, void *data);
743 extern int Cudd_StdPostReordHook (DdManager *dd, const char *str, void *data);
744 extern int Cudd_EnableReorderingReporting (DdManager *dd);
745 extern int Cudd_DisableReorderingReporting (DdManager *dd);
746 extern int Cudd_ReorderingReporting (DdManager *dd);
747 extern int Cudd_PrintGroupedOrder(DdManager * dd, const char *str, void *data);
748 extern int Cudd_EnableOrderingMonitoring(DdManager *dd);
749 extern int Cudd_DisableOrderingMonitoring(DdManager *dd);
750 extern int Cudd_OrderingMonitoring(DdManager *dd);
751 extern Cudd_ErrorType Cudd_ReadErrorCode (DdManager *dd);
752 extern void Cudd_ClearErrorCode (DdManager *dd);
753 extern FILE * Cudd_ReadStdout (DdManager *dd);
754 extern void Cudd_SetStdout (DdManager *dd, FILE *fp);
755 extern FILE * Cudd_ReadStderr (DdManager *dd);
756 extern void Cudd_SetStderr (DdManager *dd, FILE *fp);
757 extern unsigned int Cudd_ReadNextReordering (DdManager *dd);
758 extern void Cudd_SetNextReordering (DdManager *dd, unsigned int next);
759 extern double Cudd_ReadSwapSteps (DdManager *dd);
760 extern unsigned int Cudd_ReadMaxLive (DdManager *dd);
761 extern void Cudd_SetMaxLive (DdManager *dd, unsigned int maxLive);
762 extern unsigned long Cudd_ReadMaxMemory (DdManager *dd);
763 extern void Cudd_SetMaxMemory (DdManager *dd, unsigned long maxMemory);
764 extern int Cudd_bddBindVar (DdManager *dd, int index);
765 extern int Cudd_bddUnbindVar (DdManager *dd, int index);
766 extern int Cudd_bddVarIsBound (DdManager *dd, int index);
767 extern DdNode * Cudd_addExistAbstract (DdManager *manager, DdNode *f, DdNode *cube);
768 extern DdNode * Cudd_addUnivAbstract (DdManager *manager, DdNode *f, DdNode *cube);
769 extern DdNode * Cudd_addOrAbstract (DdManager *manager, DdNode *f, DdNode *cube);
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);
773 extern DdNode * Cudd_addThreshold (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);
779 extern DdNode * Cudd_addOneZeroMaximum (DdManager *dd, DdNode **f, DdNode **g);
780 extern DdNode * Cudd_addDiff (DdManager *dd, DdNode **f, DdNode **g);
781 extern DdNode * Cudd_addAgreement (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);
789 extern DdNode * Cudd_addFindMax (DdManager *dd, DdNode *f);
790 extern DdNode * Cudd_addFindMin (DdManager *dd, DdNode *f);
791 extern DdNode * Cudd_addIthBit (DdManager *dd, DdNode *f, int bit);
792 extern DdNode * Cudd_addScalarInverse (DdManager *dd, DdNode *f, DdNode *epsilon);
793 extern DdNode * Cudd_addIte (DdManager *dd, DdNode *f, DdNode *g, DdNode *h);
794 extern DdNode * Cudd_addIteConstant (DdManager *dd, DdNode *f, DdNode *g, DdNode *h);
795 extern DdNode * Cudd_addEvalConst (DdManager *dd, DdNode *f, DdNode *g);
796 extern int Cudd_addLeq (DdManager * dd, DdNode * f, DdNode * g);
797 extern DdNode * Cudd_addCmpl (DdManager *dd, DdNode *f);
798 extern DdNode * Cudd_addNegate (DdManager *dd, DdNode *f);
799 extern DdNode * Cudd_addRoundOff (DdManager *dd, DdNode *f, int N);
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);
804 extern int Cudd_ApaNumberOfDigits (int binaryDigits);
805 extern DdApaNumber Cudd_NewApaNumber (int digits);
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);
812 extern void Cudd_ApaSetToLiteral (int digits, DdApaNumber number, DdApaDigit literal);
813 extern void Cudd_ApaPowerOfTwo (int digits, DdApaNumber number, int power);
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);
816 extern int Cudd_ApaPrintHex (FILE *fp, int digits, DdApaNumber number);
817 extern int Cudd_ApaPrintDecimal (FILE *fp, int digits, DdApaNumber number);
818 extern int Cudd_ApaPrintExponential (FILE * fp, int digits, DdApaNumber number, int precision);
819 extern DdApaNumber Cudd_ApaCountMinterm (DdManager *manager, DdNode *node, int nvars, int *digits);
820 extern int Cudd_ApaPrintMinterm (FILE *fp, DdManager *dd, DdNode *node, int nvars);
821 extern int Cudd_ApaPrintMintermExp (FILE * fp, DdManager * dd, DdNode * node, int nvars, int precision);
822 extern int Cudd_ApaPrintDensity (FILE * fp, DdManager * dd, DdNode * node, int nvars);
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);
829 extern DdNode * Cudd_bddExistAbstract (DdManager *manager, DdNode *f, DdNode *cube);
830 extern DdNode * Cudd_bddExistAbstractLimit(DdManager * manager, DdNode * f, DdNode * cube, unsigned int limit);
831 extern DdNode * Cudd_bddXorExistAbstract (DdManager *manager, DdNode *f, DdNode *g, DdNode *cube);
832 extern DdNode * Cudd_bddUnivAbstract (DdManager *manager, DdNode *f, DdNode *cube);
833 extern DdNode * Cudd_bddBooleanDiff (DdManager *manager, DdNode *f, int x);
834 extern int Cudd_bddVarIsDependent (DdManager *dd, DdNode *f, DdNode *var);
835 extern double Cudd_bddCorrelation (DdManager *manager, DdNode *f, DdNode *g);
836 extern double Cudd_bddCorrelationWeights (DdManager *manager, DdNode *f, DdNode *g, double *prob);
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);
839 extern DdNode * Cudd_bddIteConstant (DdManager *dd, DdNode *f, DdNode *g, DdNode *h);
840 extern DdNode * Cudd_bddIntersect (DdManager *dd, DdNode *f, DdNode *g);
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);
851 extern DdNode * Cudd_addBddThreshold (DdManager *dd, DdNode *f, CUDD_VALUE_TYPE value);
852 extern DdNode * Cudd_addBddStrictThreshold (DdManager *dd, DdNode *f, CUDD_VALUE_TYPE value);
853 extern DdNode * Cudd_addBddInterval (DdManager *dd, DdNode *f, CUDD_VALUE_TYPE lower, CUDD_VALUE_TYPE upper);
854 extern DdNode * Cudd_addBddIthBit (DdManager *dd, DdNode *f, int bit);
855 extern DdNode * Cudd_BddToAdd (DdManager *dd, DdNode *B);
856 extern DdNode * Cudd_addBddPattern (DdManager *dd, DdNode *f);
857 extern DdNode * Cudd_bddTransfer (DdManager *ddSource, DdManager *ddDestination, DdNode *f);
858 extern int Cudd_DebugCheck (DdManager *table);
859 extern int Cudd_CheckKeys (DdManager *table);
860 extern DdNode * Cudd_bddClippingAnd (DdManager *dd, DdNode *f, DdNode *g, int maxDepth, int direction);
861 extern DdNode * Cudd_bddClippingAndAbstract (DdManager *dd, DdNode *f, DdNode *g, DdNode *cube, int maxDepth, int direction);
862 extern DdNode * Cudd_Cofactor (DdManager *dd, DdNode *f, DdNode *g);
863 extern int Cudd_CheckCube (DdManager *dd, 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);
867 extern DdNode * Cudd_addSwapVariables (DdManager *dd, DdNode *f, DdNode **x, DdNode **y, int n);
868 extern DdNode * Cudd_bddPermute (DdManager *manager, DdNode *node, int *permut);
869 extern DdNode * Cudd_bddVarMap (DdManager *manager, DdNode *f);
870 extern int Cudd_SetVarMap (DdManager *manager, DdNode **x, DdNode **y, int n);
871 extern DdNode * Cudd_bddSwapVariables (DdManager *dd, DdNode *f, DdNode **x, DdNode **y, int n);
872 extern DdNode * Cudd_bddAdjPermuteX (DdManager *dd, DdNode *B, DdNode **x, int n);
873 extern DdNode * Cudd_addVectorCompose (DdManager *dd, DdNode *f, DdNode **vector);
874 extern DdNode * Cudd_addGeneralVectorCompose (DdManager *dd, DdNode *f, DdNode **vectorOn, DdNode **vectorOff);
875 extern DdNode * Cudd_addNonSimCompose (DdManager *dd, DdNode *f, DdNode **vector);
876 extern DdNode * Cudd_bddVectorCompose (DdManager *dd, DdNode *f, DdNode **vector);
877 extern int Cudd_bddApproxConjDecomp (DdManager *dd, DdNode *f, DdNode ***conjuncts);
878 extern int Cudd_bddApproxDisjDecomp (DdManager *dd, DdNode *f, DdNode ***disjuncts);
879 extern int Cudd_bddIterConjDecomp (DdManager *dd, DdNode *f, DdNode ***conjuncts);
880 extern int Cudd_bddIterDisjDecomp (DdManager *dd, DdNode *f, DdNode ***disjuncts);
881 extern int Cudd_bddGenConjDecomp (DdManager *dd, DdNode *f, DdNode ***conjuncts);
882 extern int Cudd_bddGenDisjDecomp (DdManager *dd, DdNode *f, DdNode ***disjuncts);
883 extern int Cudd_bddVarConjDecomp (DdManager *dd, DdNode * f, DdNode ***conjuncts);
884 extern int Cudd_bddVarDisjDecomp (DdManager *dd, DdNode * f, DdNode ***disjuncts);
885 extern DdNode * Cudd_FindEssential (DdManager *dd, DdNode *f);
886 extern int Cudd_bddIsVarEssential (DdManager *manager, DdNode *f, int id, int phase);
887 extern DdTlcInfo * Cudd_FindTwoLiteralClauses (DdManager * dd, DdNode * f);
888 extern int Cudd_PrintTwoLiteralClauses (DdManager * dd, DdNode * f, char **names, FILE *fp);
889 extern int Cudd_ReadIthClause (DdTlcInfo * tlc, int i, DdHalfWord *var1, DdHalfWord *var2, int *phase1, int *phase2);
890 extern void Cudd_tlcInfoFree (DdTlcInfo * t);
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);
897 extern DdNode * Cudd_bddConstrain (DdManager *dd, DdNode *f, DdNode *c);
898 extern DdNode * Cudd_bddRestrict (DdManager *dd, DdNode *f, DdNode *c);
899 extern DdNode * Cudd_bddNPAnd (DdManager *dd, DdNode *f, DdNode *c);
900 extern DdNode * Cudd_addConstrain (DdManager *dd, DdNode *f, DdNode *c);
901 extern DdNode ** Cudd_bddConstrainDecomp (DdManager *dd, DdNode *f);
902 extern DdNode * Cudd_addRestrict (DdManager *dd, DdNode *f, DdNode *c);
903 extern DdNode ** Cudd_bddCharToVect (DdManager *dd, DdNode *f);
904 extern DdNode * Cudd_bddLICompaction (DdManager *dd, DdNode *f, DdNode *c);
905 extern DdNode * Cudd_bddSqueeze (DdManager *dd, DdNode *l, DdNode *u);
906 extern DdNode * Cudd_bddMinimize (DdManager *dd, DdNode *f, DdNode *c);
907 extern DdNode * Cudd_SubsetCompress (DdManager *dd, DdNode *f, int nvars, int threshold);
908 extern DdNode * Cudd_SupersetCompress (DdManager *dd, DdNode *f, int nvars, int threshold);
909 extern MtrNode * Cudd_MakeTreeNode (DdManager *dd, unsigned int low, unsigned int size, unsigned int type);
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);
913 extern int Cudd_PrintLinear (DdManager *table);
914 extern int Cudd_ReadLinear (DdManager *table, int x, int y);
915 extern DdNode * Cudd_bddLiteralSetIntersection (DdManager *dd, DdNode *f, DdNode *g);
916 extern DdNode * Cudd_addMatrixMultiply (DdManager *dd, DdNode *A, DdNode *B, DdNode **z, int nz);
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);
929 extern DdNode * Cudd_CProjection (DdManager *dd, DdNode *R, DdNode *Y);
930 extern DdNode * Cudd_addHamming (DdManager *dd, DdNode **xVars, DdNode **yVars, int nVars);
931 extern int Cudd_MinHammingDist (DdManager *dd, DdNode *f, int *minterm, int upperBound);
932 extern DdNode * Cudd_bddClosestCube (DdManager *dd, DdNode * f, DdNode *g, int *distance);
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);
935 extern void Cudd_Ref (DdNode *n);
936 extern void Cudd_RecursiveDeref (DdManager *table, DdNode *n);
937 extern void Cudd_IterDerefBdd (DdManager *table, DdNode *n);
938 extern void Cudd_DelayedDerefBdd (DdManager * table, DdNode * n);
939 extern void Cudd_RecursiveDerefZdd (DdManager *table, DdNode *n);
940 extern void Cudd_Deref (DdNode *node);
941 extern int Cudd_CheckZeroRef (DdManager *manager);
942 extern int Cudd_ReduceHeap (DdManager *table, Cudd_ReorderingType heuristic, int minsize);
943 extern int Cudd_ShuffleHeap (DdManager *table, int *permutation);
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);
947 extern int Cudd_ShortestLength (DdManager *manager, DdNode *f, int *weight);
948 extern DdNode * Cudd_Decreasing (DdManager *dd, DdNode *f, int i);
949 extern DdNode * Cudd_Increasing (DdManager *dd, DdNode *f, int i);
950 extern int Cudd_EquivDC (DdManager *dd, DdNode *F, DdNode *G, DdNode *D);
951 extern int Cudd_bddLeqUnless (DdManager *dd, DdNode *f, DdNode *g, DdNode *D);
952 extern int Cudd_EqualSupNorm (DdManager *dd, DdNode *f, DdNode *g, CUDD_VALUE_TYPE tolerance, int pr);
953 extern DdNode * Cudd_bddMakePrime (DdManager *dd, DdNode *cube, DdNode *f);
954 extern DdNode * Cudd_bddMaximallyExpand(DdManager *dd, DdNode *lb, DdNode *ub, DdNode *f);
955 extern DdNode * Cudd_bddLargestPrimeUnate(DdManager *dd , DdNode *f, DdNode *phaseBdd);
956 extern double * Cudd_CofMinterm (DdManager *dd, DdNode *node);
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);
960 extern DdNode * Cudd_SubsetHeavyBranch (DdManager *dd, DdNode *f, int numVars, int threshold);
961 extern DdNode * Cudd_SupersetHeavyBranch (DdManager *dd, DdNode *f, int numVars, int threshold);
962 extern DdNode * Cudd_SubsetShortPaths (DdManager *dd, DdNode *f, int numVars, int threshold, int hardlimit);
963 extern DdNode * Cudd_SupersetShortPaths (DdManager *dd, DdNode *f, int numVars, int threshold, int hardlimit);
964 extern void Cudd_SymmProfile (DdManager *table, int lower, int upper);
965 extern unsigned int Cudd_Prime (unsigned int p);
966 extern int Cudd_Reserve(DdManager *manager, int amount);
967 extern int Cudd_PrintMinterm (DdManager *manager, DdNode *node);
968 extern int Cudd_bddPrintCover (DdManager *dd, DdNode *l, DdNode *u);
969 extern int Cudd_PrintDebug (DdManager *dd, DdNode *f, int n, int pr);
970 extern int Cudd_DagSize (DdNode *node);
971 extern int Cudd_EstimateCofactor (DdManager *dd, DdNode * node, int i, int phase);
972 extern int Cudd_EstimateCofactorSimple (DdNode * node, int i);
973 extern int Cudd_SharingSize (DdNode **nodeArray, int n);
974 extern double Cudd_CountMinterm (DdManager *manager, DdNode *node, int nvars);
975 extern int Cudd_EpdCountMinterm (DdManager *manager, DdNode *node, int nvars, EpDouble *epd);
976 extern double Cudd_CountPath (DdNode *node);
977 extern double Cudd_CountPathsToNonZero (DdNode *node);
978 extern int Cudd_SupportIndices(DdManager * dd, DdNode * f, int **indices);
979 extern DdNode * Cudd_Support (DdManager *dd, DdNode *f);
980 extern int * Cudd_SupportIndex (DdManager *dd, DdNode *f);
981 extern int Cudd_SupportSize (DdManager *dd, DdNode *f);
982 extern int Cudd_VectorSupportIndices(DdManager * dd, DdNode ** F, int n, int **indices);
983 extern DdNode * Cudd_VectorSupport (DdManager *dd, DdNode **F, int n);
984 extern int * Cudd_VectorSupportIndex (DdManager *dd, DdNode **F, int n);
985 extern int Cudd_VectorSupportSize (DdManager *dd, DdNode **F, int n);
986 extern int Cudd_ClassifySupport (DdManager *dd, DdNode *f, DdNode *g, DdNode **common, DdNode **onlyF, DdNode **onlyG);
987 extern int Cudd_CountLeaves (DdNode *node);
988 extern int Cudd_bddPickOneCube (DdManager *ddm, DdNode *node, char *string);
989 extern DdNode * Cudd_bddPickOneMinterm (DdManager *dd, DdNode *f, DdNode **vars, int n);
990 extern DdNode ** Cudd_bddPickArbitraryMinterms (DdManager *dd, DdNode *f, DdNode **vars, int n, int k);
991 extern DdNode * Cudd_SubsetWithMaskVars (DdManager *dd, DdNode *f, DdNode **vars, int nvars, DdNode **maskVars, int mvars);
992 extern DdGen * Cudd_FirstCube (DdManager *dd, DdNode *f, int **cube, CUDD_VALUE_TYPE *value);
993 extern int Cudd_NextCube (DdGen *gen, int **cube, CUDD_VALUE_TYPE *value);
994 extern DdGen * Cudd_FirstPrime(DdManager *dd, DdNode *l, DdNode *u, int **cube);
995 extern int Cudd_NextPrime(DdGen *gen, int **cube);
996 extern DdNode * Cudd_bddComputeCube (DdManager *dd, DdNode **vars, int *phase, int n);
997 extern DdNode * Cudd_addComputeCube (DdManager *dd, DdNode **vars, int *phase, int n);
998 extern DdNode * Cudd_CubeArrayToBdd (DdManager *dd, int *array);
999 extern int Cudd_BddToCubeArray (DdManager *dd, DdNode *cube, int *array);
1000 extern DdGen * Cudd_FirstNode (DdManager *dd, DdNode *f, DdNode **node);
1001 extern int Cudd_NextNode (DdGen *gen, DdNode **node);
1002 extern int Cudd_GenFree (DdGen *gen);
1003 extern int Cudd_IsGenEmpty (DdGen *gen);
1004 extern DdNode * Cudd_IndicesToCube (DdManager *dd, int *array, int n);
1005 extern void Cudd_PrintVersion (FILE *fp);
1006 extern double Cudd_AverageDistance (DdManager *dd);
1007 extern long Cudd_Random (void);
1008 extern void Cudd_Srandom (long seed);
1009 extern double Cudd_Density (DdManager *dd, DdNode *f, int nvars);
1010 extern void Cudd_OutOfMem (long size);
1011 extern int Cudd_zddCount (DdManager *zdd, DdNode *P);
1012 extern double Cudd_zddCountDouble (DdManager *zdd, DdNode *P);
1013 extern DdNode * Cudd_zddProduct (DdManager *dd, DdNode *f, DdNode *g);
1014 extern DdNode * Cudd_zddUnateProduct (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);
1017 extern DdNode * Cudd_zddWeakDivF (DdManager *dd, DdNode *f, DdNode *g);
1018 extern DdNode * Cudd_zddDivideF (DdManager *dd, DdNode *f, DdNode *g);
1019 extern DdNode * Cudd_zddComplement (DdManager *dd, DdNode *node);
1020 extern MtrNode * Cudd_MakeZddTreeNode (DdManager *dd, unsigned int low, unsigned int size, unsigned int type);
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);
1023 extern DdNode * Cudd_MakeBddFromZddCover (DdManager *dd, DdNode *node);
1024 extern int Cudd_zddDagSize (DdNode *p_node);
1025 extern double Cudd_zddCountMinterm (DdManager *zdd, DdNode *node, int path);
1026 extern void Cudd_zddPrintSubtable (DdManager *table);
1027 extern DdNode * Cudd_zddPortFromBdd (DdManager *dd, DdNode *B);
1028 extern DdNode * Cudd_zddPortToBdd (DdManager *dd, DdNode *f);
1029 extern int Cudd_zddReduceHeap (DdManager *table, Cudd_ReorderingType heuristic, int minsize);
1030 extern int Cudd_zddShuffleHeap (DdManager *table, int *permutation);
1031 extern DdNode * Cudd_zddIte (DdManager *dd, DdNode *f, DdNode *g, DdNode *h);
1032 extern DdNode * Cudd_zddUnion (DdManager *dd, DdNode *P, DdNode *Q);
1033 extern DdNode * Cudd_zddIntersect (DdManager *dd, DdNode *P, DdNode *Q);
1034 extern DdNode * Cudd_zddDiff (DdManager *dd, DdNode *P, DdNode *Q);
1035 extern DdNode * Cudd_zddDiffConst (DdManager *zdd, DdNode *P, DdNode *Q);
1036 extern DdNode * Cudd_zddSubset1 (DdManager *dd, DdNode *P, int var);
1037 extern DdNode * Cudd_zddSubset0 (DdManager *dd, DdNode *P, int var);
1038 extern DdNode * Cudd_zddChange (DdManager *dd, DdNode *P, int var);
1039 extern void Cudd_zddSymmProfile (DdManager *table, int lower, int upper);
1040 extern int Cudd_zddPrintMinterm (DdManager *zdd, DdNode *node);
1041 extern int Cudd_zddPrintCover (DdManager *zdd, DdNode *node);
1042 extern int Cudd_zddPrintDebug (DdManager *zdd, DdNode *f, int n, int pr);
1043 extern DdGen * Cudd_zddFirstPath (DdManager *zdd, DdNode *f, int **path);
1044 extern int Cudd_zddNextPath (DdGen *gen, int **path);
1045 extern char * Cudd_zddCoverPathToString (DdManager *zdd, int *path, char *str);
1046 extern DdNode * Cudd_zddSupport(DdManager * dd, DdNode * f);
1047 extern int Cudd_zddDumpDot (DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp);
1048 extern int Cudd_bddSetPiVar (DdManager *dd, int index);
1049 extern int Cudd_bddSetPsVar (DdManager *dd, int index);
1050 extern int Cudd_bddSetNsVar (DdManager *dd, int index);
1051 extern int Cudd_bddIsPiVar (DdManager *dd, int index);
1052 extern int Cudd_bddIsPsVar (DdManager *dd, int index);
1053 extern int Cudd_bddIsNsVar (DdManager *dd, int index);
1054 extern int Cudd_bddSetPairIndex (DdManager *dd, int index, int pairIndex);
1055 extern int Cudd_bddReadPairIndex (DdManager *dd, int index);
1056 extern int Cudd_bddSetVarToBeGrouped (DdManager *dd, int index);
1057 extern int Cudd_bddSetVarHardGroup (DdManager *dd, int index);
1058 extern int Cudd_bddResetVarToBeGrouped (DdManager *dd, int index);
1059 extern int Cudd_bddIsVarToBeGrouped (DdManager *dd, int index);
1060 extern int Cudd_bddSetVarToBeUngrouped (DdManager *dd, int index);
1061 extern int Cudd_bddIsVarToBeUngrouped (DdManager *dd, int index);
1062 extern int Cudd_bddIsVarHardGroup (DdManager *dd, int index);
1063 
1066 #ifdef __cplusplus
1067 } /* end of extern "C" */
1068 #endif
1069 
1070 #endif /* _CUDD */
void Cudd_UnsetTimeLimit(DdManager *unique)
Definition: cuddAPI.c:864
int Cudd_ReadLinear(DdManager *table, int x, int y)
Definition: cuddLinear.c:187
void Cudd_IterDerefBdd(DdManager *table, DdNode *n)
Definition: cuddRef.c:213
int Cudd_bddApproxDisjDecomp(DdManager *dd, DdNode *f, DdNode ***disjuncts)
int Cudd_bddSetVarHardGroup(DdManager *dd, int index)
Definition: cuddAPI.c:4651
DdNode * Cudd_SubsetHeavyBranch(DdManager *dd, DdNode *f, int numVars, int threshold)
DdHalfWord ref
Definition: cudd.h:272
void Cudd_SetOrderRandomization(DdManager *dd, unsigned int factor)
Definition: cuddAPI.c:3221
DdNode * Cudd_addBddThreshold(DdManager *dd, DdNode *f, CUDD_VALUE_TYPE value)
void Cudd_tlcInfoFree(DdTlcInfo *t)
unsigned long Cudd_ReadTimeLimit(DdManager *unique)
Definition: cuddAPI.c:765
DdNode * Cudd_addOrAbstract(DdManager *manager, DdNode *f, DdNode *cube)
int Cudd_bddSetVarToBeUngrouped(DdManager *dd, int index)
Definition: cuddAPI.c:4728
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)
Definition: cuddUtil.c:2622
DdNode * Cudd_SubsetWithMaskVars(DdManager *dd, DdNode *f, DdNode **vars, int nvars, DdNode **maskVars, int mvars)
Definition: cuddUtil.c:1610
void Cudd_RecursiveDerefZdd(DdManager *table, DdNode *n)
Definition: cuddRef.c:381
unsigned short DdHalfWord
Definition: cudd.h:259
void Cudd_SetNumberXovers(DdManager *dd, int numberXovers)
Definition: cuddAPI.c:3178
DdNode * Cudd_bddNewVar(DdManager *dd)
Definition: cuddAPI.c:337
unsigned int Cudd_ReadMaxCache(DdManager *dd)
Definition: cuddAPI.c:1611
long Cudd_zddReadNodeCount(DdManager *dd)
Definition: cuddAPI.c:3546
DdNode * Cudd_FindEssential(DdManager *dd, DdNode *f)
int Cudd_bddSetPiVar(DdManager *dd, int index)
Definition: cuddAPI.c:4430
DdNode * Cudd_bddUnivAbstract(DdManager *manager, DdNode *f, DdNode *cube)
Definition: cuddBddAbs.c:248
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)
Definition: cuddCof.c:155
DdNode * Cudd_VerifySol(DdManager *bdd, DdNode *F, DdNode **G, int *yIndex, int n)
double * Cudd_CofMinterm(DdManager *dd, DdNode *node)
struct DdTlcInfo DdTlcInfo
Definition: cudd.h:296
int Cudd_ReorderingStatusZdd(DdManager *unique, Cudd_ReorderingType *method)
Definition: cuddAPI.c:1052
DdNode * Cudd_addConstrain(DdManager *dd, DdNode *f, DdNode *c)
unsigned int Cudd_ReadCacheSlots(DdManager *dd)
Definition: cuddAPI.c:1392
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)
Definition: cuddUtil.c:2845
Cudd_AggregationType
Definition: cudd.h:180
DdNode * Cudd_addSwapVariables(DdManager *dd, DdNode *f, DdNode **x, DdNode **y, int n)
DdNode * Cudd_bddPickOneMinterm(DdManager *dd, DdNode *f, DdNode **vars, int n)
Definition: cuddUtil.c:1299
DdNode * Cudd_zddDiffConst(DdManager *zdd, DdNode *P, DdNode *Q)
Definition: cuddZddSetop.c:262
void Cudd_SetMaxCacheHard(DdManager *dd, unsigned int mc)
Definition: cuddAPI.c:1655
DdNode * Cudd_zddPortFromBdd(DdManager *dd, DdNode *B)
DdNode * Cudd_bddComputeCube(DdManager *dd, DdNode **vars, int *phase, int n)
Definition: cuddUtil.c:2204
void Cudd_RecursiveDeref(DdManager *table, DdNode *n)
Definition: cuddRef.c:150
int Cudd_bddIsVarHardGroup(DdManager *dd, int index)
Definition: cuddAPI.c:4779
double Cudd_CountMinterm(DdManager *manager, DdNode *node, int nvars)
Definition: cuddUtil.c:582
Definition: cudd.h:270
void Cudd_SetMaxMemory(DdManager *dd, unsigned long maxMemory)
Definition: cuddAPI.c:4329
DdNode * Cudd_bddMaximallyExpand(DdManager *dd, DdNode *lb, DdNode *ub, DdNode *f)
Definition: cuddSat.c:906
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)
Definition: cuddAPI.c:659
int Cudd_ReadSymmviolation(DdManager *dd)
Definition: cuddAPI.c:2992
MtrNode * Cudd_MakeZddTreeNode(DdManager *dd, unsigned int low, unsigned int size, unsigned int type)
Definition: cuddZddGroup.c:159
int Cudd_bddIterDisjDecomp(DdManager *dd, DdNode *f, DdNode ***disjuncts)
DdNode * Cudd_zddComplement(DdManager *dd, DdNode *node)
Definition: cuddZddFuncs.c:328
void Cudd_ResetStartTime(DdManager *unique)
Definition: cuddAPI.c:743
unsigned int Cudd_ReadMinDead(DdManager *dd)
Definition: cuddAPI.c:1910
int(* DD_QSFP)(const void *, const void *)
Definition: cudd.h:313
DdNode * Cudd_addCmpl(DdManager *dd, DdNode *f)
Definition: cuddAddIte.c:343
DdNode * Cudd_ShortestPath(DdManager *manager, DdNode *f, int *weight, int *support, int *length)
Definition: cuddSat.c:203
int Cudd_SupportIndices(DdManager *dd, DdNode *f, int **indices)
Definition: cuddUtil.c:744
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)
Definition: cuddUtil.c:1229
DdNode * Cudd_zddSubset1(DdManager *dd, DdNode *P, int var)
Definition: cuddZddSetop.c:326
DdGen * Cudd_FirstNode(DdManager *dd, DdNode *f, DdNode **node)
Definition: cuddUtil.c:2408
unsigned int Cudd_ReadMaxCacheHard(DdManager *dd)
Definition: cuddAPI.c:1631
int Cudd_ApaPrintDensity(FILE *fp, DdManager *dd, DdNode *node, int nvars)
void Cudd_SetTimeLimit(DdManager *unique, unsigned long tl)
Definition: cuddAPI.c:786
DdNode * Cudd_Support(DdManager *dd, DdNode *f)
Definition: cuddUtil.c:789
void Cudd_Srandom(long seed)
Definition: cuddUtil.c:2772
void Cudd_Deref(DdNode *node)
Definition: cuddRef.c:434
DdNode * Cudd_addNewVarAtLevel(DdManager *dd, int level)
Definition: cuddAPI.c:304
int Cudd_EquivDC(DdManager *dd, DdNode *F, DdNode *G, DdNode *D)
Definition: cuddSat.c:529
DdNode * Cudd_Xgty(DdManager *dd, int N, DdNode **z, DdNode **x, DdNode **y)
DdNode * Cudd_addComputeCube(DdManager *dd, DdNode **vars, int *phase, int n)
Definition: cuddUtil.c:2254
int Cudd_NextPrime(DdGen *gen, int **cube)
Definition: cuddUtil.c:2138
DdNode * Cudd_addConst(DdManager *dd, CUDD_VALUE_TYPE c)
Definition: cuddAPI.c:634
void Cudd_SetStdout(DdManager *dd, FILE *fp)
Definition: cuddAPI.c:4127
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)
Definition: cuddBddIte.c:175
int Cudd_bddVarIsBound(DdManager *dd, int index)
Definition: cuddAPI.c:4407
int Cudd_Reserve(DdManager *manager, int amount)
Definition: cuddTable.c:230
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)
Definition: cuddAPI.c:4195
void Cudd_TurnOffCountDead(DdManager *dd)
Definition: cuddAPI.c:2915
int Cudd_bddResetVarToBeGrouped(DdManager *dd, int index)
Definition: cuddAPI.c:4675
DdNode * Cudd_RemapOverApprox(DdManager *dd, DdNode *f, int numVars, int threshold, double quality)
int Cudd_NextNode(DdGen *gen, DdNode **node)
Definition: cuddUtil.c:2467
Cudd_ErrorType
Definition: cudd.h:216
DdNode * Cudd_ReadLogicZero(DdManager *dd)
Definition: cuddAPI.c:1298
int Cudd_zddDagSize(DdNode *p_node)
DdNode * Cudd_addEvalConst(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddAddIte.c:256
DdNode ** Cudd_bddPickArbitraryMinterms(DdManager *dd, DdNode *f, DdNode **vars, int n, int k)
Definition: cuddUtil.c:1401
unsigned long Cudd_ReadMaxMemory(DdManager *dd)
Definition: cuddAPI.c:4308
DdNode * Cudd_bddExistAbstract(DdManager *manager, DdNode *f, DdNode *cube)
Definition: cuddBddAbs.c:127
void Cudd_AutodynDisableZdd(DdManager *unique)
Definition: cuddAPI.c:1026
DdNode * Cudd_addMonadicApply(DdManager *dd, DdNode *(*op)(DdManager *, DdNode *), DdNode *f)
DdNode * Cudd_bddNor(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddBddIte.c:518
DdNode * Cudd_addNor(DdManager *dd, DdNode **f, DdNode **g)
unsigned int Cudd_ReadMinHit(DdManager *dd)
Definition: cuddAPI.c:1512
DdNode * Cudd_zddWeakDivF(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddZddFuncs.c:266
void Cudd_SetRecomb(DdManager *dd, int recomb)
Definition: cuddAPI.c:2964
DdNode * Cudd_ReadPlusInfinity(DdManager *dd)
Definition: cuddAPI.c:1316
unsigned int Cudd_ReadMaxReorderings(DdManager *dd)
Definition: cuddAPI.c:1957
DdNode * Cudd_Decreasing(DdManager *dd, DdNode *f, int i)
Definition: cuddSat.c:424
void Cudd_SetStartTime(DdManager *unique, unsigned long st)
Definition: cuddAPI.c:722
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)
Definition: cuddAPI.c:1371
void Cudd_SetMaxGrowthAlternate(DdManager *dd, double mg)
Definition: cuddAPI.c:2346
int Cudd_ShortestLength(DdManager *manager, DdNode *f, int *weight)
Definition: cuddSat.c:364
DdNode * Cudd_CubeArrayToBdd(DdManager *dd, int *array)
Definition: cuddUtil.c:2306
int Cudd_bddSetVarToBeGrouped(DdManager *dd, int index)
Definition: cuddAPI.c:4624
DdNode * Cudd_zddPortToBdd(DdManager *dd, DdNode *f)
int Cudd_zddRealignmentEnabled(DdManager *unique)
Definition: cuddAPI.c:1077
int Cudd_bddIsNsVar(DdManager *dd, int index)
Definition: cuddAPI.c:4551
DdNode * Cudd_bddLargestPrimeUnate(DdManager *dd, DdNode *f, DdNode *phaseBdd)
Definition: cuddSat.c:941
double Cudd_ReadNodesDropped(DdManager *dd)
Definition: cuddAPI.c:2092
Cudd_AggregationType Cudd_ReadGroupcheck(DdManager *dd)
Definition: cuddAPI.c:2756
DdNode * Cudd_bddAndAbstractLimit(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube, unsigned int limit)
int Cudd_TimeLimited(DdManager *unique)
Definition: cuddAPI.c:885
DdNode * Cudd_addIteConstant(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
Definition: cuddAddIte.c:159
DdNode * Cudd_SupersetShortPaths(DdManager *dd, DdNode *f, int numVars, int threshold, int hardlimit)
int Cudd_ReorderingReporting(DdManager *dd)
Definition: cuddAPI.c:3916
DdNode * Cudd_addApply(DdManager *dd, DdNode *(*)(DdManager *, DdNode **, DdNode **), DdNode *f, DdNode *g)
DdNode * Cudd_zddDiff(DdManager *dd, DdNode *P, DdNode *Q)
Definition: cuddZddSetop.c:232
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)
Definition: cuddBddIte.c:382
DdNode * Cudd_bddSwapVariables(DdManager *dd, DdNode *f, DdNode **x, DdNode **y, int n)
DdNode * Cudd_addMaximum(DdManager *dd, DdNode **f, DdNode **g)
Definition: cuddInt.h:206
DdNode * Cudd_ReadZero(DdManager *dd)
Definition: cuddAPI.c:1276
unsigned short int DdApaDigit
Definition: cudd.h:290
int Cudd_IsGenEmpty(DdGen *gen)
Definition: cuddUtil.c:2539
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)
Definition: cuddBddIte.c:142
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)
Definition: cuddBddIte.c:450
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)
Definition: cuddZddFuncs.c:237
int Cudd_CountLeaves(DdNode *node)
Definition: cuddUtil.c:1202
DdNode * Cudd_SolveEqn(DdManager *bdd, DdNode *F, DdNode *Y, DdNode **G, int **yIndex, int n)
DdNode * Cudd_MakeBddFromZddCover(DdManager *dd, DdNode *node)
Definition: cuddZddIsop.c:200
DdNode * Cudd_zddChange(DdManager *dd, DdNode *P, int var)
Definition: cuddZddSetop.c:388
DdNode * Cudd_BiasedUnderApprox(DdManager *dd, DdNode *f, DdNode *b, int numVars, int threshold, double quality1, double quality0)
int Cudd_ReadPeakLiveNodeCount(DdManager *dd)
Definition: cuddAPI.c:3476
int Cudd_zddNextPath(DdGen *gen, int **path)
int Cudd_ApaPrintHex(FILE *fp, int digits, DdApaNumber number)
int Cudd_DeadAreCounted(DdManager *dd)
Definition: cuddAPI.c:2867
void Cudd_SetLooseUpTo(DdManager *dd, unsigned int lut)
Definition: cuddAPI.c:1585
DdNode * Cudd_zddIntersect(DdManager *dd, DdNode *P, DdNode *Q)
Definition: cuddZddSetop.c:203
void Cudd_SetSiftMaxVar(DdManager *dd, int smv)
Definition: cuddAPI.c:2195
DdNode * Cudd_ReadVars(DdManager *dd, int i)
Definition: cuddAPI.c:2689
long Cudd_ReadGarbageCollectionTime(DdManager *dd)
Definition: cuddAPI.c:2044
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)
void(* DD_OOMFP)(long)
Definition: cudd.h:311
int Cudd_ReadSize(DdManager *dd)
Definition: cuddAPI.c:1681
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)
Definition: cuddUtil.c:1925
Cudd_VariableType
Definition: cudd.h:249
int Cudd_ReadInvPerm(DdManager *dd, int i)
Definition: cuddAPI.c:2636
int Cudd_bddIsVarEssential(DdManager *manager, DdNode *f, int id, int phase)
DdNode * Cudd_zddIte(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
Definition: cuddZddSetop.c:144
DdGen * Cudd_zddFirstPath(DdManager *zdd, DdNode *f, int **path)
DdNode * Cudd_bddTransfer(DdManager *ddSource, DdManager *ddDestination, DdNode *f)
void Cudd_FreeTree(DdManager *dd)
Definition: cuddAPI.c:2462
DdNode * Cudd_zddProduct(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddZddFuncs.c:141
DdNode * Cudd_bddVectorCompose(DdManager *dd, DdNode *f, DdNode **vector)
long Cudd_ReadReorderingTime(DdManager *dd)
Definition: cuddAPI.c:2000
void Cudd_SetZddTree(DdManager *dd, MtrNode *tree)
Definition: cuddAPI.c:2506
DdNode * Cudd_addNonSimCompose(DdManager *dd, DdNode *f, DdNode **vector)
DdNode * Cudd_LargestCube(DdManager *manager, DdNode *f, int *length)
Definition: cuddSat.c:288
unsigned long Cudd_ReadElapsedTime(DdManager *unique)
Definition: cuddAPI.c:701
DdNode * Cudd_bddNand(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddBddIte.c:486
DdNode * Cudd_ReadBackground(DdManager *dd)
Definition: cuddAPI.c:1352
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)
Definition: cuddAddIte.c:372
DdNode * Cudd_bddIteConstant(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
Definition: cuddBddIte.c:210
void Cudd_ClearErrorCode(DdManager *dd)
Definition: cuddAPI.c:4085
DdNode * Cudd_bddMinimize(DdManager *dd, DdNode *f, DdNode *c)
DdNode * Cudd_zddUnion(DdManager *dd, DdNode *P, DdNode *Q)
Definition: cuddZddSetop.c:174
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)
Definition: cuddAPI.c:2066
void Cudd_SetReorderingCycle(DdManager *dd, int cycle)
Definition: cuddAPI.c:2393
MtrNode * Cudd_ReadZddTree(DdManager *dd)
Definition: cuddAPI.c:2486
int Cudd_DumpDDcal(DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp)
int Cudd_ReadNumberXovers(DdManager *dd)
Definition: cuddAPI.c:3152
DdNode * Cudd_Eval(DdManager *dd, DdNode *f, int *inputs)
Definition: cuddSat.c:159
int Cudd_bddIsPiVar(DdManager *dd, int index)
Definition: cuddAPI.c:4503
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)
long Cudd_Random(void)
Definition: cuddUtil.c:2710
int Cudd_bddBindVar(DdManager *dd, int index)
Definition: cuddAPI.c:4352
DdNode * Cudd_IndicesToCube(DdManager *dd, int *array, int n)
Definition: cuddUtil.c:2561
void Cudd_EnableGarbageCollection(DdManager *dd)
Definition: cuddAPI.c:2821
DdNode * Cudd_addPermute(DdManager *manager, DdNode *node, int *permut)
int Cudd_EstimateCofactorSimple(DdNode *node, int i)
Definition: cuddUtil.c:521
DdGen * Cudd_FirstPrime(DdManager *dd, DdNode *l, DdNode *u, int **cube)
Definition: cuddUtil.c:2036
void Cudd_SetEpsilon(DdManager *dd, CUDD_VALUE_TYPE ep)
Definition: cuddAPI.c:2733
CUDD_VALUE_TYPE value
Definition: cudd.h:275
unsigned int DdApaDoubleDigit
Definition: cudd.h:291
DdNode * Cudd_addIthVar(DdManager *dd, int i)
Definition: cuddAPI.c:398
DdNode * Cudd_bddMakePrime(DdManager *dd, DdNode *cube, DdNode *f)
Definition: cuddSat.c:871
int Cudd_zddShuffleHeap(DdManager *table, int *permutation)
Definition: cuddZddReord.c:300
DdNode * Cudd_SupersetHeavyBranch(DdManager *dd, DdNode *f, int numVars, int threshold)
Cudd_HookType
Definition: cudd.h:201
DdNode * Cudd_addXnor(DdManager *dd, DdNode **f, DdNode **g)
DdNode * Cudd_Cofactor(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddCof.c:119
DdNode * Cudd_bddExistAbstractLimit(DdManager *manager, DdNode *f, DdNode *cube, unsigned int limit)
Definition: cuddBddAbs.c:166
int Cudd_ReadPerm(DdManager *dd, int i)
Definition: cuddAPI.c:2583
int Cudd_PrintLinear(DdManager *table)
Definition: cuddLinear.c:149
DdNode * Cudd_bddNewVarAtLevel(DdManager *dd, int level)
Definition: cuddAPI.c:365
int Cudd_ShuffleHeap(DdManager *table, int *permutation)
Definition: cuddReorder.c:337
int Cudd_ReorderingStatus(DdManager *unique, Cudd_ReorderingType *method)
Definition: cuddAPI.c:975
int Cudd_PrintInfo(DdManager *dd, FILE *fp)
Definition: cuddAPI.c:3263
DdNode * Cudd_bddConstrain(DdManager *dd, DdNode *f, DdNode *c)
DdNode * Cudd_zddSubset0(DdManager *dd, DdNode *P, int var)
Definition: cuddZddSetop.c:358
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)
Definition: cuddAPI.c:2414
DdNode * Cudd_bddCompose(DdManager *dd, DdNode *f, DdNode *g, int v)
struct DdChildren DdChildren
DdNode * next
Definition: cudd.h:273
void Cudd_ApaSetToLiteral(int digits, DdApaNumber number, DdApaDigit literal)
DdNode * Cudd_addVectorCompose(DdManager *dd, DdNode *f, DdNode **vector)
void Cudd_bddRealignEnable(DdManager *unique)
Definition: cuddAPI.c:1183
double Cudd_ReadCacheHits(DdManager *dd)
Definition: cuddAPI.c:1465
int Cudd_bddLeqUnless(DdManager *dd, DdNode *f, DdNode *g, DdNode *D)
Definition: cuddSat.c:629
int Cudd_ReadInvPermZdd(DdManager *dd, int i)
Definition: cuddAPI.c:2662
double Cudd_CountPath(DdNode *node)
Definition: cuddUtil.c:627
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)
Definition: cuddAPI.c:4219
int Cudd_PrintMinterm(DdManager *manager, DdNode *node)
Definition: cuddUtil.c:220
int(* DD_HFP)(DdManager *, const char *, void *)
Definition: cudd.h:299
double Cudd_ReadUsedSlots(DdManager *dd)
Definition: cuddAPI.c:1743
DdNode * Cudd_addPlus(DdManager *dd, DdNode **f, DdNode **g)
void Cudd_SymmProfile(DdManager *table, int lower, int upper)
Definition: cuddSymmetry.c:138
double Cudd_ReadCacheUsedSlots(DdManager *dd)
Definition: cuddAPI.c:1415
DdNode * Cudd_addBddInterval(DdManager *dd, DdNode *f, CUDD_VALUE_TYPE lower, CUDD_VALUE_TYPE upper)
int Cudd_ReadZddSize(DdManager *dd)
Definition: cuddAPI.c:1701
DdManager * Cudd_Init(unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory)
Definition: cuddInit.c:121
DdNode * Cudd_RemapUnderApprox(DdManager *dd, DdNode *f, int numVars, int threshold, double quality)
int Cudd_bddIsPsVar(DdManager *dd, int index)
Definition: cuddAPI.c:4527
DdNode * Cudd_addIthBit(DdManager *dd, DdNode *f, int bit)
void Cudd_zddRealignEnable(DdManager *unique)
Definition: cuddAPI.c:1107
int Cudd_bddSetNsVar(DdManager *dd, int index)
Definition: cuddAPI.c:4478
int Cudd_ReadRecomb(DdManager *dd)
Definition: cuddAPI.c:2939
DdChildren kids
Definition: cudd.h:276
DdNode * Cudd_BddToAdd(DdManager *dd, DdNode *B)
Cudd_ErrorType Cudd_ReadErrorCode(DdManager *dd)
Definition: cuddAPI.c:4065
DdNode * Cudd_zddWeakDiv(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddZddFuncs.c:206
DdNode * Cudd_bddXorExistAbstract(DdManager *manager, DdNode *f, DdNode *g, DdNode *cube)
Definition: cuddBddAbs.c:210
struct DdNode * E
Definition: cudd.h:266
int Cudd_StdPreReordHook(DdManager *dd, const char *str, void *data)
Definition: cuddAPI.c:3733
int Cudd_zddCount(DdManager *zdd, DdNode *P)
int Cudd_ClassifySupport(DdManager *dd, DdNode *f, DdNode *g, DdNode **common, DdNode **onlyF, DdNode **onlyG)
Definition: cuddUtil.c:1101
int Cudd_DebugCheck(DdManager *table)
Definition: cuddCheck.c:138
int Cudd_bddVarDisjDecomp(DdManager *dd, DdNode *f, DdNode ***disjuncts)
DdNode * Cudd_zddIsop(DdManager *dd, DdNode *L, DdNode *U, DdNode **zdd_I)
Definition: cuddZddIsop.c:132
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)
Definition: cuddAPI.c:1978
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)
Definition: cuddAPI.c:4240
DdNode * Cudd_bddRestrict(DdManager *dd, DdNode *f, DdNode *c)
DdNode * Cudd_bddBooleanDiff(DdManager *manager, DdNode *f, int x)
Definition: cuddBddAbs.c:287
MtrNode * Cudd_MakeTreeNode(DdManager *dd, unsigned int low, unsigned int size, unsigned int type)
Definition: cuddGroup.c:203
void Cudd_SetMinHit(DdManager *dd, unsigned int hr)
Definition: cuddAPI.c:1538
DdNode * Cudd_bddXnor(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddBddIte.c:580
void Cudd_AutodynEnableZdd(DdManager *unique, Cudd_ReorderingType method)
Definition: cuddAPI.c:1000
DdNode * Cudd_bddOr(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddBddIte.c:417
void Cudd_SetPopulationSize(DdManager *dd, int populationSize)
Definition: cuddAPI.c:3125
int Cudd_bddIsVarToBeUngrouped(DdManager *dd, int index)
Definition: cuddAPI.c:4754
DdNode * Cudd_addNegate(DdManager *dd, DdNode *f)
int Cudd_EnableOrderingMonitoring(DdManager *dd)
Definition: cuddAPI.c:3977
void Cudd_SetArcviolation(DdManager *dd, int arcviolation)
Definition: cuddAPI.c:3072
void Cudd_SetSymmviolation(DdManager *dd, int symmviolation)
Definition: cuddAPI.c:3019
DdApaDigit Cudd_ApaSubtract(int digits, DdApaNumber a, DdApaNumber b, DdApaNumber diff)
Definition: mtr.h:126
int Cudd_EqualSupNorm(DdManager *dd, DdNode *f, DdNode *g, CUDD_VALUE_TYPE tolerance, int pr)
Definition: cuddSat.c:803
int Cudd_EstimateCofactor(DdManager *dd, DdNode *node, int i, int phase)
Definition: cuddUtil.c:481
void Cudd_UpdateTimeLimit(DdManager *unique)
Definition: cuddAPI.c:809
DdNode * Cudd_Increasing(DdManager *dd, DdNode *f, int i)
Definition: cuddSat.c:504
int Cudd_bddVarIsDependent(DdManager *dd, DdNode *f, DdNode *var)
Definition: cuddBddAbs.c:325
void Cudd_zddPrintSubtable(DdManager *table)
unsigned int Cudd_ReadOrderRandomization(DdManager *dd)
Definition: cuddAPI.c:3201
int Cudd_ApaPrintDecimal(FILE *fp, int digits, DdApaNumber number)
int Cudd_PrintDebug(DdManager *dd, DdNode *f, int n, int pr)
Definition: cuddUtil.c:386
DdApaDigit * DdApaNumber
Definition: cudd.h:293
void Cudd_SetTree(DdManager *dd, MtrNode *tree)
Definition: cuddAPI.c:2434
int Cudd_RemoveHook(DdManager *dd, DD_HFP f, Cudd_HookType where)
Definition: cuddAPI.c:3631
DdNode * Cudd_bddClippingAndAbstract(DdManager *dd, DdNode *f, DdNode *g, DdNode *cube, int maxDepth, int direction)
int Cudd_bddPrintCover(DdManager *dd, DdNode *l, DdNode *u)
Definition: cuddUtil.c:257
int Cudd_CheckZeroRef(DdManager *manager)
Definition: cuddRef.c:462
void Cudd_AutodynDisable(DdManager *unique)
Definition: cuddAPI.c:948
DdNode * Cudd_zddUnateProduct(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddZddFuncs.c:172
DdNode ** Cudd_bddCharToVect(DdManager *dd, DdNode *f)
DdNode * Cudd_ReadZddOne(DdManager *dd, int i)
Definition: cuddAPI.c:1250
DdNode * Cudd_addGeneralVectorCompose(DdManager *dd, DdNode *f, DdNode **vectorOn, DdNode **vectorOff)
unsigned int Cudd_ReadLooseUpTo(DdManager *dd)
Definition: cuddAPI.c:1561
unsigned long Cudd_ReadStartTime(DdManager *unique)
Definition: cuddAPI.c:681
DdNode * Cudd_bddIsop(DdManager *dd, DdNode *L, DdNode *U)
Definition: cuddZddIsop.c:170
int Cudd_zddReduceHeap(DdManager *table, Cudd_ReorderingType heuristic, int minsize)
Definition: cuddZddReord.c:167
DdNode * Cudd_Dxygtdxz(DdManager *dd, int N, DdNode **x, DdNode **y, DdNode **z)
int Cudd_EnableReorderingReporting(DdManager *dd)
Definition: cuddAPI.c:3861
int Cudd_bddIsVarToBeGrouped(DdManager *dd, int index)
Definition: cuddAPI.c:4702
DdNode * Cudd_ReadOne(DdManager *dd)
Definition: cuddAPI.c:1227
int Cudd_bddLeq(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddBddIte.c:645
long Cudd_ReadNodeCount(DdManager *dd)
Definition: cuddAPI.c:3504
double Cudd_ReadUniqueLinks(DdManager *dd)
Definition: cuddAPI.c:2147
DdNode * Cudd_ReadMinusInfinity(DdManager *dd)
Definition: cuddAPI.c:1334
double Cudd_CountPathsToNonZero(DdNode *node)
Definition: cuddUtil.c:711
DdNode * Cudd_addIte(DdManager *dd, DdNode *f, DdNode *g, DdNode *h)
Definition: cuddAddIte.c:125
DdNode * Cudd_Inequality(DdManager *dd, int N, int c, DdNode **x, DdNode **y)
DdNode * Cudd_addFindMax(DdManager *dd, DdNode *f)
#define CUDD_VALUE_TYPE
Definition: cudd.h:90
void Cudd_DisableGarbageCollection(DdManager *dd)
Definition: cuddAPI.c:2845
DdNode * Cudd_zddDivideF(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddZddFuncs.c:295
double Cudd_ReadCacheLookUps(DdManager *dd)
Definition: cuddAPI.c:1444
int Cudd_bddApproxConjDecomp(DdManager *dd, DdNode *f, DdNode ***conjuncts)
FILE * Cudd_ReadStderr(DdManager *dd)
Definition: cuddAPI.c:4150
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)
Definition: cuddAPI.c:4454
double Cudd_Density(DdManager *dd, DdNode *f, int nvars)
Definition: cuddUtil.c:2810
unsigned int Cudd_ReadMaxLive(DdManager *dd)
Definition: cuddAPI.c:4265
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)
DdHalfWord index
Definition: cudd.h:271
unsigned int Cudd_NodeReadIndex(DdNode *node)
Definition: cuddAPI.c:2559
unsigned int Cudd_Prime(unsigned int p)
Definition: cuddTable.c:185
int Cudd_zddPrintMinterm(DdManager *zdd, DdNode *node)
int Cudd_AddHook(DdManager *dd, DD_HFP f, Cudd_HookType where)
Definition: cuddAPI.c:3569
int Cudd_ReadReorderingCycle(DdManager *dd)
Definition: cuddAPI.c:2370
int Cudd_VectorSupportIndices(DdManager *dd, DdNode **F, int n, int **indices)
Definition: cuddUtil.c:912
DdNode * Cudd_bddIthVar(DdManager *dd, int i)
Definition: cuddAPI.c:430
int Cudd_bddSetPairIndex(DdManager *dd, int index, int pairIndex)
Definition: cuddAPI.c:4575
void Cudd_IncreaseTimeLimit(DdManager *unique, unsigned long increase)
Definition: cuddAPI.c:838
int Cudd_CheckKeys(DdManager *table)
Definition: cuddCheck.c:460
DdNode * Cudd_bddXor(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddBddIte.c:549
unsigned int Cudd_ReadReorderings(DdManager *dd)
Definition: cuddAPI.c:1936
DdNode * Cudd_addOuterSum(DdManager *dd, DdNode *M, DdNode *r, DdNode *c)
void Cudd_SetGroupcheck(DdManager *dd, Cudd_AggregationType gc)
Definition: cuddAPI.c:2778
int Cudd_GenFree(DdGen *gen)
Definition: cuddUtil.c:2499
DdNode * Cudd_addTimesPlus(DdManager *dd, DdNode *A, DdNode *B, DdNode **z, int nz)
void Cudd_bddRealignDisable(DdManager *unique)
Definition: cuddAPI.c:1205
DdGen * Cudd_FirstCube(DdManager *dd, DdNode *f, int **cube, CUDD_VALUE_TYPE *value)
Definition: cuddUtil.c:1806
int * Cudd_SupportIndex(DdManager *dd, DdNode *f)
Definition: cuddUtil.c:842
int Cudd_VectorSupportSize(DdManager *dd, DdNode **F, int n)
Definition: cuddUtil.c:1063
unsigned int Cudd_ReadKeys(DdManager *dd)
Definition: cuddAPI.c:1866
void Cudd_SetMaxGrowth(DdManager *dd, double mg)
Definition: cuddAPI.c:2295
int Cudd_IsInHook(DdManager *dd, DD_HFP f, Cudd_HookType where)
Definition: cuddAPI.c:3684
int Cudd_bddUnbindVar(DdManager *dd, int index)
Definition: cuddAPI.c:4380
int Cudd_bddReadPairIndex(DdManager *dd, int index)
Definition: cuddAPI.c:4601
DdNode * Cudd_bddAnd(DdManager *dd, DdNode *f, DdNode *g)
Definition: cuddBddIte.c:350
unsigned long Cudd_ReadMemoryInUse(DdManager *dd)
Definition: cuddAPI.c:3242
int Cudd_bddRealignmentEnabled(DdManager *unique)
Definition: cuddAPI.c:1153
void Cudd_DelayedDerefBdd(DdManager *table, DdNode *n)
Definition: cuddRef.c:270
DdNode * Cudd_zddIthVar(DdManager *dd, int i)
Definition: cuddAPI.c:462
int Cudd_ReadPopulationSize(DdManager *dd)
Definition: cuddAPI.c:3099
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)
Definition: cuddAPI.c:3939
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)
Definition: cuddZddSymm.c:141
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)
Definition: cuddAPI.c:533
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)
Definition: cuddUtil.c:1017
int Cudd_ReadPermZdd(DdManager *dd, int i)
Definition: cuddAPI.c:2610
void Cudd_FreeZddTree(DdManager *dd)
Definition: cuddAPI.c:2534
double Cudd_zddCountDouble(DdManager *zdd, DdNode *P)
void Cudd_Quit(DdManager *unique)
Definition: cuddInit.c:218
int Cudd_ReduceHeap(DdManager *table, Cudd_ReorderingType heuristic, int minsize)
Definition: cuddReorder.c:172
struct DdNode * T
Definition: cudd.h:265
void Cudd_AutodynEnable(DdManager *unique, Cudd_ReorderingType method)
Definition: cuddAPI.c:909
double Cudd_ReadMaxGrowthAlternate(DdManager *dd)
Definition: cuddAPI.c:2321
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)
Definition: cuddAPI.c:2890
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)
Definition: cuddAPI.c:3449
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)
void Cudd_Ref(DdNode *n)
Definition: cuddRef.c:125
DdNode * Cudd_addMatrixMultiply(DdManager *dd, DdNode *A, DdNode *B, DdNode **z, int nz)
int Cudd_ReadSiftMaxSwap(DdManager *dd)
Definition: cuddAPI.c:2220
DdNode * Cudd_addNand(DdManager *dd, DdNode **f, DdNode **g)
unsigned int Cudd_ReadDead(DdManager *dd)
Definition: cuddAPI.c:1886
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)
Definition: cuddAPI.c:3826
DdNode * Cudd_addNewVar(DdManager *dd)
Definition: cuddAPI.c:273
int Cudd_DisableOrderingMonitoring(DdManager *dd)
Definition: cuddAPI.c:4011
int Cudd_ReadSiftMaxVar(DdManager *dd)
Definition: cuddAPI.c:2173
double Cudd_ReadMaxGrowth(DdManager *dd)
Definition: cuddAPI.c:2270
int Cudd_GarbageCollectionEnabled(DdManager *dd)
Definition: cuddAPI.c:2799
Cudd_ReorderingType
Definition: cudd.h:147
int Cudd_SupportSize(DdManager *dd, DdNode *f)
Definition: cuddUtil.c:882
void Cudd_SetSiftMaxSwap(DdManager *dd, int sms)
Definition: cuddAPI.c:2244
unsigned int Cudd_ReadSlots(DdManager *dd)
Definition: cuddAPI.c:1720
int Cudd_MinHammingDist(DdManager *dd, DdNode *f, int *minterm, int upperBound)
FILE * Cudd_ReadStdout(DdManager *dd)
Definition: cuddAPI.c:4107
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)
Definition: cuddBddIte.c:318
DdNode * Cudd_addWalsh(DdManager *dd, DdNode **x, DdNode **y, int n)
int Cudd_SharingSize(DdNode **nodeArray, int n)
Definition: cuddUtil.c:548
DdNode * Cudd_Disequality(DdManager *dd, int N, int c, DdNode **x, DdNode **y)
DdNode * Cudd_addMinimum(DdManager *dd, DdNode **f, DdNode **g)
Cudd_LazyGroupType
Definition: cudd.h:234
void Cudd_SetMaxLive(DdManager *dd, unsigned int maxLive)
Definition: cuddAPI.c:4286
int Cudd_EpdCountMinterm(DdManager *manager, DdNode *node, int nvars, EpDouble *epd)
Definition: cuddUtil.c:661
void Cudd_SetStderr(DdManager *dd, FILE *fp)
Definition: cuddAPI.c:4170
int Cudd_ReadGarbageCollections(DdManager *dd)
Definition: cuddAPI.c:2023
CUDD_VALUE_TYPE Cudd_ReadEpsilon(DdManager *dd)
Definition: cuddAPI.c:2712
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)
Definition: cuddAPI.c:1129
DdNode * Cudd_VectorSupport(DdManager *dd, DdNode **F, int n)
Definition: cuddUtil.c:966
int Cudd_DisableReorderingReporting(DdManager *dd)
Definition: cuddAPI.c:3889
double Cudd_ExpectedUsedSlots(DdManager *dd)
Definition: cuddAPI.c:1812
DdNode * Cudd_bddSqueeze(DdManager *dd, DdNode *l, DdNode *u)
int Cudd_BddToCubeArray(DdManager *dd, DdNode *cube, int *array)
Definition: cuddUtil.c:2354
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)
Definition: cuddUtil.c:446
DdNode * Cudd_bddXnorLimit(DdManager *dd, DdNode *f, DdNode *g, unsigned int limit)
Definition: cuddBddIte.c:612
char * Cudd_zddCoverPathToString(DdManager *zdd, int *path, char *str)
int Cudd_OrderingMonitoring(DdManager *dd)
Definition: cuddAPI.c:4044
double Cudd_ReadUniqueLookUps(DdManager *dd)
Definition: cuddAPI.c:2118
int Cudd_zddDumpDot(DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp)
void Cudd_PrintVersion(FILE *fp)
Definition: cuddUtil.c:2600
double Cudd_ReadRecursiveCalls(DdManager *dd)
Definition: cuddAPI.c:1486
int Cudd_ReadArcviolation(DdManager *dd)
Definition: cuddAPI.c:3046