📄 cudd.h
字号:
disable dynamic reordering. It is a mistake to dispose of a diagram on which generation is ongoing.] SideEffects [none] SeeAlso [Cudd_ForeachCube Cudd_FirstNode Cudd_NextNode Cudd_GenFree Cudd_IsGenEmpty Cudd_AutodynDisable]******************************************************************************/#define Cudd_ForeachNode(manager, f, gen, node)\ for((gen) = Cudd_FirstNode(manager, f, &node);\ Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : TRUE;\ (void) Cudd_NextNode(gen, &node))/**Macro*********************************************************************** Synopsis [Iterates over the paths of a ZDD.] Description [Iterates over the paths of a ZDD f. <ul> <li> DdManager *manager; <li> DdNode *f; <li> DdGen *gen; <li> int *path; </ul> Cudd_zddForeachPath allocates and frees the generator. Therefore the application should not try to do that. Also, the path is freed at the end of Cudd_zddForeachPath and hence is not available outside of the loop.<p> CAUTION: It is assumed that dynamic reordering will not occur while there are open generators. It is the user's responsibility to make sure that dynamic reordering does not occur. As long as new nodes are not created during generation, and dynamic reordering is not called explicitly, dynamic reordering will not occur. Alternatively, it is sufficient to disable dynamic reordering. It is a mistake to dispose of a diagram on which generation is ongoing.] SideEffects [none] SeeAlso [Cudd_zddFirstPath Cudd_zddNextPath Cudd_GenFree Cudd_IsGenEmpty Cudd_AutodynDisable]******************************************************************************/#define Cudd_zddForeachPath(manager, f, gen, path)\ for((gen) = Cudd_zddFirstPath(manager, f, &path);\ Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : TRUE;\ (void) Cudd_zddNextPath(gen, &path))/* These are potential duplicates. */#ifndef EXTERN# ifdef __cplusplus# define EXTERN extern "C"# else# define EXTERN extern# endif#endif#ifndef ARGS# if defined(__STDC__) || defined(__cplusplus)# define ARGS(protos) protos /* ANSI C */# else /* !(__STDC__ || __cplusplus) */# define ARGS(protos) () /* K&R C */# endif /* !(__STDC__ || __cplusplus) */#endif/**AutomaticStart*************************************************************//*---------------------------------------------------------------------------*//* Function prototypes *//*---------------------------------------------------------------------------*/EXTERN DdNode * Cudd_addNewVar ARGS((DdManager *dd));EXTERN DdNode * Cudd_addNewVarAtLevel ARGS((DdManager *dd, int level));EXTERN DdNode * Cudd_bddNewVar ARGS((DdManager *dd));EXTERN DdNode * Cudd_bddNewVarAtLevel ARGS((DdManager *dd, int level));EXTERN DdNode * Cudd_addIthVar ARGS((DdManager *dd, int i));EXTERN DdNode * Cudd_bddIthVar ARGS((DdManager *dd, int i));EXTERN DdNode * Cudd_zddIthVar ARGS((DdManager *dd, int i));EXTERN int Cudd_zddVarsFromBddVars ARGS((DdManager *dd, int multiplicity));EXTERN DdNode * Cudd_addConst ARGS((DdManager *dd, CUDD_VALUE_TYPE c));EXTERN int Cudd_IsNonConstant ARGS((DdNode *f));EXTERN void Cudd_AutodynEnable ARGS((DdManager *unique, Cudd_ReorderingType method));EXTERN void Cudd_AutodynDisable ARGS((DdManager *unique));EXTERN int Cudd_ReorderingStatus ARGS((DdManager *unique, Cudd_ReorderingType *method));EXTERN void Cudd_AutodynEnableZdd ARGS((DdManager *unique, Cudd_ReorderingType method));EXTERN void Cudd_AutodynDisableZdd ARGS((DdManager *unique));EXTERN int Cudd_ReorderingStatusZdd ARGS((DdManager *unique, Cudd_ReorderingType *method));EXTERN int Cudd_zddRealignmentEnabled ARGS((DdManager *unique));EXTERN void Cudd_zddRealignEnable ARGS((DdManager *unique));EXTERN void Cudd_zddRealignDisable ARGS((DdManager *unique));EXTERN int Cudd_bddRealignmentEnabled ARGS((DdManager *unique));EXTERN void Cudd_bddRealignEnable ARGS((DdManager *unique));EXTERN void Cudd_bddRealignDisable ARGS((DdManager *unique));EXTERN DdNode * Cudd_ReadOne ARGS((DdManager *dd));EXTERN DdNode * Cudd_ReadZddOne ARGS((DdManager *dd, int i));EXTERN DdNode * Cudd_ReadZero ARGS((DdManager *dd));EXTERN DdNode * Cudd_ReadLogicZero ARGS((DdManager *dd));EXTERN DdNode * Cudd_ReadPlusInfinity ARGS((DdManager *dd));EXTERN DdNode * Cudd_ReadMinusInfinity ARGS((DdManager *dd));EXTERN DdNode * Cudd_ReadBackground ARGS((DdManager *dd));EXTERN void Cudd_SetBackground ARGS((DdManager *dd, DdNode *bck));EXTERN unsigned int Cudd_ReadCacheSlots ARGS((DdManager *dd));EXTERN double Cudd_ReadCacheUsedSlots ARGS((DdManager * dd));EXTERN double Cudd_ReadCacheLookUps ARGS((DdManager *dd));EXTERN double Cudd_ReadCacheHits ARGS((DdManager *dd));EXTERN double Cudd_ReadRecursiveCalls ARGS ((DdManager * dd));EXTERN unsigned int Cudd_ReadMinHit ARGS((DdManager *dd));EXTERN void Cudd_SetMinHit ARGS((DdManager *dd, unsigned int hr));EXTERN unsigned int Cudd_ReadLooseUpTo ARGS((DdManager *dd));EXTERN void Cudd_SetLooseUpTo ARGS((DdManager *dd, unsigned int lut));EXTERN unsigned int Cudd_ReadMaxCache ARGS((DdManager *dd));EXTERN unsigned int Cudd_ReadMaxCacheHard ARGS((DdManager *dd));EXTERN void Cudd_SetMaxCacheHard ARGS((DdManager *dd, unsigned int mc));EXTERN int Cudd_ReadSize ARGS((DdManager *dd));EXTERN int Cudd_ReadZddSize ARGS((DdManager *dd));EXTERN unsigned int Cudd_ReadSlots ARGS((DdManager *dd));EXTERN double Cudd_ReadUsedSlots ARGS((DdManager * dd));EXTERN double Cudd_ExpectedUsedSlots ARGS((DdManager * dd));EXTERN unsigned int Cudd_ReadKeys ARGS((DdManager *dd));EXTERN unsigned int Cudd_ReadDead ARGS((DdManager *dd));EXTERN unsigned int Cudd_ReadMinDead ARGS((DdManager *dd));EXTERN int Cudd_ReadReorderings ARGS((DdManager *dd));EXTERN long Cudd_ReadReorderingTime ARGS((DdManager * dd));EXTERN int Cudd_ReadGarbageCollections ARGS((DdManager * dd));EXTERN long Cudd_ReadGarbageCollectionTime ARGS((DdManager * dd));EXTERN double Cudd_ReadNodesFreed ARGS((DdManager * dd));EXTERN double Cudd_ReadNodesDropped ARGS((DdManager * dd));EXTERN double Cudd_ReadUniqueLookUps ARGS((DdManager * dd));EXTERN double Cudd_ReadUniqueLinks ARGS((DdManager * dd));EXTERN int Cudd_ReadSiftMaxVar ARGS((DdManager *dd));EXTERN void Cudd_SetSiftMaxVar ARGS((DdManager *dd, int smv));EXTERN int Cudd_ReadSiftMaxSwap ARGS((DdManager *dd));EXTERN void Cudd_SetSiftMaxSwap ARGS((DdManager *dd, int sms));EXTERN double Cudd_ReadMaxGrowth ARGS((DdManager *dd));EXTERN void Cudd_SetMaxGrowth ARGS((DdManager *dd, double mg));EXTERN double Cudd_ReadMaxGrowthAlternate ARGS((DdManager * dd));EXTERN void Cudd_SetMaxGrowthAlternate ARGS((DdManager * dd, double mg));EXTERN int Cudd_ReadReorderingCycle ARGS((DdManager * dd));EXTERN void Cudd_SetReorderingCycle ARGS((DdManager * dd, int cycle));EXTERN MtrNode * Cudd_ReadTree ARGS((DdManager *dd));EXTERN void Cudd_SetTree ARGS((DdManager *dd, MtrNode *tree));EXTERN void Cudd_FreeTree ARGS((DdManager *dd));EXTERN MtrNode * Cudd_ReadZddTree ARGS((DdManager *dd));EXTERN void Cudd_SetZddTree ARGS((DdManager *dd, MtrNode *tree));EXTERN void Cudd_FreeZddTree ARGS((DdManager *dd));EXTERN unsigned int Cudd_NodeReadIndex ARGS((DdNode *node));EXTERN int Cudd_ReadPerm ARGS((DdManager *dd, int i));EXTERN int Cudd_ReadPermZdd ARGS((DdManager *dd, int i));EXTERN int Cudd_ReadInvPerm ARGS((DdManager *dd, int i));EXTERN int Cudd_ReadInvPermZdd ARGS((DdManager *dd, int i));EXTERN DdNode * Cudd_ReadVars ARGS((DdManager *dd, int i));EXTERN CUDD_VALUE_TYPE Cudd_ReadEpsilon ARGS((DdManager *dd));EXTERN void Cudd_SetEpsilon ARGS((DdManager *dd, CUDD_VALUE_TYPE ep));EXTERN Cudd_AggregationType Cudd_ReadGroupcheck ARGS((DdManager *dd));EXTERN void Cudd_SetGroupcheck ARGS((DdManager *dd, Cudd_AggregationType gc));EXTERN int Cudd_GarbageCollectionEnabled ARGS((DdManager *dd));EXTERN void Cudd_EnableGarbageCollection ARGS((DdManager *dd));EXTERN void Cudd_DisableGarbageCollection ARGS((DdManager *dd));EXTERN int Cudd_DeadAreCounted ARGS((DdManager *dd));EXTERN void Cudd_TurnOnCountDead ARGS((DdManager *dd));EXTERN void Cudd_TurnOffCountDead ARGS((DdManager *dd));EXTERN int Cudd_ReadRecomb ARGS((DdManager *dd));EXTERN void Cudd_SetRecomb ARGS((DdManager *dd, int recomb));EXTERN int Cudd_ReadSymmviolation ARGS((DdManager *dd));EXTERN void Cudd_SetSymmviolation ARGS((DdManager *dd, int symmviolation));EXTERN int Cudd_ReadArcviolation ARGS((DdManager *dd));EXTERN void Cudd_SetArcviolation ARGS((DdManager *dd, int arcviolation));EXTERN int Cudd_ReadPopulationSize ARGS((DdManager *dd));EXTERN void Cudd_SetPopulationSize ARGS((DdManager *dd, int populationSize));EXTERN int Cudd_ReadNumberXovers ARGS((DdManager *dd));EXTERN void Cudd_SetNumberXovers ARGS((DdManager *dd, int numberXovers));EXTERN long Cudd_ReadMemoryInUse ARGS((DdManager *dd));EXTERN int Cudd_PrintInfo ARGS((DdManager *dd, FILE *fp));EXTERN long Cudd_ReadPeakNodeCount ARGS((DdManager *dd));EXTERN int Cudd_ReadPeakLiveNodeCount ARGS((DdManager * dd));EXTERN long Cudd_ReadNodeCount ARGS((DdManager *dd));EXTERN long Cudd_zddReadNodeCount ARGS((DdManager *dd));EXTERN int Cudd_AddHook ARGS((DdManager *dd, int (*f)(DdManager *, char *, void *), Cudd_HookType where));EXTERN int Cudd_RemoveHook ARGS((DdManager *dd, int (*f)(DdManager *, char *, void *), Cudd_HookType where));EXTERN int Cudd_IsInHook ARGS((DdManager * dd, int (*f)(DdManager *, char *, void *), Cudd_HookType where));EXTERN int Cudd_StdPreReordHook ARGS((DdManager *dd, char *str, void *data));EXTERN int Cudd_StdPostReordHook ARGS((DdManager *dd, char *str, void *data));EXTERN int Cudd_EnableReorderingReporting ARGS((DdManager *dd));EXTERN int Cudd_DisableReorderingReporting ARGS((DdManager *dd));EXTERN int Cudd_ReorderingReporting ARGS((DdManager *dd));EXTERN Cudd_ErrorType Cudd_ReadErrorCode ARGS((DdManager *dd));EXTERN void Cudd_ClearErrorCode ARGS((DdManager *dd));EXTERN FILE * Cudd_ReadStdout ARGS((DdManager *dd));EXTERN void Cudd_SetStdout ARGS((DdManager *dd, FILE *fp));EXTERN FILE * Cudd_ReadStderr ARGS((DdManager *dd));EXTERN void Cudd_SetStderr ARGS((DdManager *dd, FILE *fp));EXTERN unsigned int Cudd_ReadNextReordering ARGS((DdManager *dd));EXTERN void Cudd_SetNextReordering ARGS((DdManager *dd, unsigned int next));EXTERN double Cudd_ReadSwapSteps ARGS((DdManager *dd));EXTERN unsigned int Cudd_ReadMaxLive ARGS((DdManager *dd));EXTERN void Cudd_SetMaxLive ARGS((DdManager *dd, unsigned int maxLive));EXTERN long Cudd_ReadMaxMemory ARGS((DdManager *dd));EXTERN void Cudd_SetMaxMemory ARGS((DdManager *dd, long maxMemory));EXTERN int Cudd_bddBindVar ARGS((DdManager *dd, int index));EXTERN int Cudd_bddUnbindVar ARGS((DdManager *dd, int index));EXTERN int Cudd_bddVarIsBound ARGS((DdManager *dd, int index));EXTERN DdNode * Cudd_addExistAbstract ARGS((DdManager *manager, DdNode *f, DdNode *cube));EXTERN DdNode * Cudd_addUnivAbstract ARGS((DdManager *manager, DdNode *f, DdNode *cube));EXTERN DdNode * Cudd_addOrAbstract ARGS((DdManager *manager, DdNode *f, DdNode *cube));EXTERN DdNode * Cudd_addApply ARGS((DdManager *dd, DdNode * (*)(DdManager *, DdNode **, DdNode **), DdNode *f, DdNode *g));EXTERN DdNode * Cudd_addPlus ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addTimes ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addThreshold ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addSetNZ ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addDivide ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addMinus ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addMinimum ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addMaximum ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addOneZeroMaximum ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addDiff ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addAgreement ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addOr ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addNand ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addNor ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addXor ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addXnor ARGS((DdManager *dd, DdNode **f, DdNode **g));EXTERN DdNode * Cudd_addMonadicApply ARGS((DdManager * dd, DdNode * (*op)(DdManager *, DdNode *), DdNode * f));EXTERN DdNode * Cudd_addLog ARGS((DdManager * dd, DdNode * f));EXTERN DdNode * Cudd_addFindMax ARGS((DdManager *dd, DdNode *f));EXTERN DdNode * Cudd_addFindMin ARGS((DdManager *dd, DdNode *f));EXTERN DdNode * Cudd_addIthBit ARGS((DdManager *dd, DdNode *f, int bit));EXTERN DdNode * Cudd_addScalarInverse ARGS((DdManager *dd, DdNode *f, DdNode *epsilon));EXTERN DdNode * Cudd_addIte ARGS((DdManager *dd, DdNode *f, DdNode *g, DdNode *h));EXTERN DdNode * Cudd_addIteConstant ARGS((DdManager *dd, DdNode *f, DdNode *g, DdNode *h));EXTERN DdNode * Cudd_addEvalConst ARGS((DdManager *dd, DdNode *f, DdNode *g));EXTERN int Cudd_addLeq ARGS((DdManager * dd, DdNode * f, DdNode * g));EXTERN DdNode * Cudd_addCmpl ARGS((DdManager *dd, DdNode *f));EXTERN DdNode * Cudd_addNegate ARGS((DdManager *dd, DdNode *f));EXTERN DdNode * Cudd_addRoundOff ARGS((DdManager *dd, DdNode *f, int N));EXTERN DdNode * Cudd_addWalsh ARGS((DdManager *dd, DdNode **x, DdNode **y, int n));EXTERN DdNode * Cudd_addResidue ARGS((DdManager *dd, int n, int m, int options, int top));EXTERN DdNode * Cudd_bddAndAbstract ARGS((DdManager *manager, DdNode *f, DdNode *g, DdNode *cube));EXTERN int Cudd_ApaNumberOfDigits ARGS((int binaryDigits));EXTERN DdApaNumber Cudd_NewApaNumber ARGS((int digits));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -