Ddi_Bdd_t * Ddi_BddAndAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_Bdd_t * Ddi_BddAndExistAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g, Ddi_Varset_t * vars )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddAndExist( Ddi_Bdd_t * f, Ddi_Bdd_t * g, Ddi_Varset_t * vars )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddAnd( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddNot
Ddi_BddOr
Ddi_Bddarray_t * Ddi_BddArraySetMeta( Ddi_Bddarray_t * f )
Ddi_Bdd_t * Ddi_BddCofactorAcc( Ddi_Bdd_t * f, Ddi_Var_t * v, int phase )
Ddi_Bdd_t * Ddi_BddCofactor( Ddi_Bdd_t * f, Ddi_Var_t * v, int phase )
Ddi_Bdd_t * Ddi_BddCofexist( Ddi_Bdd_t * f, Ddi_Bdd_t * g, Ddi_Varset_t * smooth )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddComposeAcc( Ddi_Bdd_t * f, Ddi_Vararray_t * x, array of variables Ddi_Bddarray_t * g array of functions )
Ddi_BddSwapVars
Ddi_BddSubstVars
Ddi_Bdd_t * Ddi_BddCompose( Ddi_Bdd_t * f, Ddi_Vararray_t * x, array of variables Ddi_Bddarray_t * g array of functions )
Ddi_BddSwapVars
Ddi_BddSubstVars
Ddi_Bdd_t * Ddi_BddConstrainAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddConstrain( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddCopyRemapVars( Ddi_Mgr_t * ddm, destination manager Ddi_Bdd_t * old, BDD to be duplicated Ddi_Vararray_t * varsOld, old variable array Ddi_Vararray_t * varsNew new variable array )
Ddi_Bdd_t * Ddi_BddCopy( Ddi_Mgr_t * ddm, destination manager Ddi_Bdd_t * old BDD to be duplicated )
Ddi_Bdd_t * Ddi_BddCprojectAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddCproject( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddDenseSet( Ddi_DenseMethod_e method, Operation Code Ddi_Bdd_t * f, Operand int threshold, int safe, int quality, double hardlimit )
Ddi_Bdd_t * Ddi_BddDiffAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddDiff( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddDup( Ddi_Bdd_t * f BDD to be duplicated )
int Ddi_BddEqual( Ddi_Bdd_t * f, first dd Ddi_Bdd_t * g second dd )
Ddi_Bdd_t * Ddi_BddEvalFree( Ddi_Bdd_t * f, expression Ddi_Bdd_t * g BDD to be freed )
E.g. g=Ddi_BddEvalFree(Ddi_BddAnd(g,h),g).The "accumulator" style operations introduced from version 2.0 of pdtrav should stongly reduce the need for this technique. The above example can now be written as:
Ddi_BddAndAcc(g,h).
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddExistAcc( Ddi_Bdd_t * f, Ddi_Varset_t * vars )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddExist( Ddi_Bdd_t * f, Ddi_Varset_t * vars )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddForallAcc( Ddi_Bdd_t * f, Ddi_Varset_t * vars )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddForall( Ddi_Bdd_t * f, Ddi_Varset_t * vars )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddFromMeta( Ddi_Bdd_t * f )
int Ddi_BddIncluded( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
int Ddi_BddIsCube( Ddi_Bdd_t * f )
Ddi_BddIsOne
int Ddi_BddIsMeta( Ddi_Bdd_t * f )
Ddi_BddIsPartConj
Ddi_BddIsPartDisj
int Ddi_BddIsMono( Ddi_Bdd_t * f )
Ddi_BddIsPartConj
Ddi_BddIsPartDisj
int Ddi_BddIsOne( Ddi_Bdd_t * f )
Ddi_BddIsZero
int Ddi_BddIsPartConj( Ddi_Bdd_t * f )
Ddi_BddIsMono
Ddi_BddIsPartDisj
int Ddi_BddIsPartDisj( Ddi_Bdd_t * f )
Ddi_BddIsMono
Ddi_BddIsPartConj
int Ddi_BddIsZero( Ddi_Bdd_t * f )
Ddi_BddIsOne
Ddi_Bdd_t * Ddi_BddIteAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g, Ddi_Bdd_t * h )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddIte( Ddi_Bdd_t * f, Ddi_Bdd_t * g, Ddi_Bdd_t * h )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddLoad( Ddi_BddMgr * dd, dd manager int varmatchmode, variable matching mode char mode, loading mode char * filename, file name FILE * fp file pointer )
Ddi_BddStore
Dddmp_cuddBddLoad
Ddi_Bdd_t * Ddi_BddMakeClustered( Ddi_Bdd_t * f, input function int threshold size threshold )
Ddi_Bdd_t * Ddi_BddMakeConst( Ddi_Mgr_t * mgr, int value non 0: true (one), 0: false (zero) )
Ddi_BddToCU
DdiBddMakeLiteral
Ddi_Bdd_t * Ddi_BddMakeFromCU( Ddi_Mgr_t * mgr, DdNode * bdd )
DdiGenericAlloc
Ddi_BddToCU
Ddi_Bdd_t * Ddi_BddMakeFromMeta( Ddi_Bdd_t * f )
Ddi_Bdd_t * Ddi_BddMakeLiteral( Ddi_Var_t * v, int polarity non 0: affirmed (v), 0: complemented literal (!v) )
Ddi_Bdd
Ddi_Bdd_t * Ddi_BddMakeMeta( Ddi_Bdd_t * f )
Ddi_Bdd_t * Ddi_BddMakeMono( Ddi_Bdd_t * f input function )
Ddi_Bdd_t * Ddi_BddMakePartConjFromArray( Ddi_Bddarray_t * array )
Ddi_BddMakePartConjFromMono
Ddi_BddMakePartDisjFromMono
Ddi_BddMakePartDisjFromArray
Ddi_Bdd_t * Ddi_BddMakePartConjFromMono( Ddi_Bdd_t * mono )
Ddi_BddMakePartDisjFromMono
Ddi_BddMakePartConjFromArray
Ddi_BddMakePartDisjFromArray
Ddi_Bdd_t * Ddi_BddMakePartConjVoid( Ddi_Mgr_t * mgr )
Ddi_BddMakePartDisjVoid
Ddi_BddMakePartConjFromMono
Ddi_BddMakePartConjFromArray
Ddi_Bdd_t * Ddi_BddMakePartDisjFromArray( Ddi_Bddarray_t * array )
Ddi_BddMakePartConjFromMono
Ddi_BddMakePartDisjFromMono
Ddi_BddMakePartConjFromArray
Ddi_Bdd_t * Ddi_BddMakePartDisjFromMono( Ddi_Bdd_t * mono )
Ddi_BddMakePartConjFromMono
Ddi_BddMakePartConjFromArray
Ddi_BddMakePartDisjFromArray
Ddi_Bdd_t * Ddi_BddMakePartDisjVoid( Ddi_Mgr_t * mgr )
Ddi_BddMakePartConjVoid
Ddi_BddMakePartDisjFromMono
Ddi_BddMakePartDisjFromArray
Ddi_Bdd_t * Ddi_BddNandAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddNand( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddNorAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddNor( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddNotAcc( Ddi_Bdd_t * f )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddNot( Ddi_Bdd_t * f )
Ddi_BddAnd
int Ddi_BddOperation( Ddi_Mgr_t * defaultDdMgr, Default DD Manager Ddi_Bdd_t ** bddP, BDD Pointer to manipulate char * string, String Pdtutil_MgrOp_t operationFlag, Operation Flag void ** voidPointer, Generic Pointer Pdtutil_MgrRet_t * returnFlag Type of the Pointer Returned )
Ddi_Bdd_t * Ddi_BddOrAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddOr( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddPartExtract( Ddi_Bdd_t * f, int i )
Ddi_Bdd_t * Ddi_BddPartInsertLast( Ddi_Bdd_t * f, partitioned BDD Ddi_Bdd_t * newp new partition )
Ddi_BddPartInsert
Ddi_Bdd_t * Ddi_BddPartInsert( Ddi_Bdd_t * f, partitioned BDD int i, position of new partition Ddi_Bdd_t * newp new partition )
Ddi_BddPartWrite
int Ddi_BddPartNum( Ddi_Bdd_t * f )
Ddi_Bdd_t * Ddi_BddPartRead( Ddi_Bdd_t * f, int i )
Ddi_Bdd_t * Ddi_BddPartWrite( Ddi_Bdd_t * f, partitioned BDD int i, position of new partition Ddi_Bdd_t * newp new partition )
Ddi_BddPartInsert
Ddi_Bdd_t * Ddi_BddPickOneCubeAcc( Ddi_Bdd_t * f )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddPickOneCube( Ddi_Bdd_t * f )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddPickOneMintermAcc( Ddi_Bdd_t * f, Ddi_Varset_t * vars set of variables defining the minterm space )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddPickOneMinterm( Ddi_Bdd_t * f, Ddi_Varset_t * vars set of variables defining the minterm space )
Ddi_BddAnd
int Ddi_BddPrintCubeToString( Ddi_Bdd_t * f, BDD Ddi_Varset_t * vars, Variables char * string output string )
int Ddi_BddPrintCubes( Ddi_Bdd_t * f, BDD Ddi_Varset_t * vars, Variables int cubeNumberMax, Maximum number of cubes printed int formatPla, Prints a 1 at the end of the cube (PLA format) char * filename, File Name FILE * fp Pointer to the store file )
void Ddi_BddPrintStats( Ddi_Bdd_t * f, FILE * fp )
int Ddi_BddPrintSupportAndCubes( Ddi_Bdd_t * f, BDD int numberPerRow, Number of Names Printed on a Single Row int cubeNumberMax, Maximum number of cubes printed int formatPla, Prints a 1 at the end of the cube (PLA format) char * filename, File Name FILE * fp Pointer to the store file )
void Ddi_BddPrint( Ddi_Bdd_t * f, FILE * fp )
Ddi_Bdd_t * Ddi_BddRelMakeFromArray( Ddi_Bddarray_t * Fa, array of functions Ddi_Vararray_t * Va array of range variables )
Ddi_Bdd_t * Ddi_BddRestrictAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddRestrict( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddSetClustered( Ddi_Bdd_t * f, input function int threshold size threshold )
Ddi_Bdd_t * Ddi_BddSetMeta( Ddi_Bdd_t * f )
Ddi_Bdd_t * Ddi_BddSetMono( Ddi_Bdd_t * f input function )
Ddi_Bdd_t * Ddi_BddSetPartConj( Ddi_Bdd_t * f )
Ddi_Bdd_t * Ddi_BddSetPartDisj( Ddi_Bdd_t * f )
int Ddi_BddSize( Ddi_Bdd_t * f )
int Ddi_BddStore( Ddi_Bdd_t * f, BDD char * ddname, dd name (or NULL) char mode, storing mode char * filename, file name FILE * fp pointer to the store file )
Ddi_BddLoad
Dddmp_cuddBddStore
Ddi_Bdd_t * Ddi_BddSubstVarsAcc( Ddi_Bdd_t * f, Ddi_Vararray_t * x, 1-st array of variables Ddi_Vararray_t * y 2-nd array of variables )
Ddi_BddSwapVars
Ddi_BddSubstVars
Ddi_Bdd_t * Ddi_BddSubstVars( Ddi_Bdd_t * f, Ddi_Vararray_t * x, 1-st array of variables Ddi_Vararray_t * y 2-nd array of variables )
Ddi_BddSwapVars
Ddi_BddSubstVarsAcc
Ddi_Bdd_t * Ddi_BddSuppAttach( Ddi_Bdd_t * f )
Ddi_BddSupp
Ddi_BddSuppDetach
Ddi_Bdd_t * Ddi_BddSuppDetach( Ddi_Bdd_t * f )
Ddi_BddSupp
Ddi_BddSuppAttach
Ddi_Varset_t * Ddi_BddSuppRead( Ddi_Bdd_t * f )
Ddi_BddSupp
Ddi_BddSuppAttach
Ddi_Varset_t * Ddi_BddSupp( Ddi_Bdd_t * f )
Ddi_BddSuppAttach
Ddi_Bdd_t * Ddi_BddSwapVarsAcc( Ddi_Bdd_t * f, Ddi_Vararray_t * x, 1-st array of variables Ddi_Vararray_t * y 2-nd array of variables )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddSwapVars( Ddi_Bdd_t * f, Ddi_Vararray_t * x, 1-st array of variables Ddi_Vararray_t * y 2-nd array of variables )
Ddi_BddAnd
Ddi_BddNode * Ddi_BddToCU( Ddi_Bdd_t * f )
Ddi_BddMakeFromCU
Ddi_Var_t * Ddi_BddTopVar( Ddi_Bdd_t * f )
Ddi_Bdd_t * Ddi_BddXnorAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddXnor( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bdd_t * Ddi_BddXorAcc( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAndAcc
Ddi_Bdd_t * Ddi_BddXor( Ddi_Bdd_t * f, Ddi_Bdd_t * g )
Ddi_BddAnd
Ddi_Bddarray_t * Ddi_BddarrayAlloc( Ddi_Mgr_t * mgr, DDI manager int length array length )
Ddi_BddarrayWrite
void Ddi_BddarrayAppend( Ddi_Bddarray_t * array1, first array Ddi_Bddarray_t * array2 array to be appended )
Ddi_BddarrayWrite
Ddi_BddarrayInsert
void Ddi_BddarrayClear( Ddi_Bddarray_t * array, array of BDDs int pos position of element to be cleared )
Ddi_BddarrayRead
Ddi_Bddarray_t * Ddi_BddarrayCopy( Ddi_BddMgr * ddm, dd Manager Ddi_Bddarray_t * old array of BDDs )
Ddi_BddarrayDup
Ddi_Bddarray_t * Ddi_BddarrayDup( Ddi_Bddarray_t * old array to be duplicated )
Ddi_BddarrayAlloc
Ddi_Bdd_t * Ddi_BddarrayExtract( Ddi_Bddarray_t * array, BDD array int i position )
Ddi_BddarrayInsert
void Ddi_BddarrayInsertLast( Ddi_Bddarray_t * array, array of BDDs Ddi_Bdd_t * f BDD to be written )
Ddi_BddarrayExtract
void Ddi_BddarrayInsert( Ddi_Bddarray_t * array, array of BDDs int pos, position of new element Ddi_Bdd_t * f BDD to be written )
Ddi_BddarrayExtract
Ddi_Bddarray_t * Ddi_BddarrayLoad( Ddi_BddMgr * dd, dd manager char ** vnames, variable names int * vauxids, variable auxids int mode, storing mode selector char * file, name file FILE * fp file pointer )
Dddmp_cuddBddLoad
Ddi_BddLoad
Ddi_Bddarray_t * Ddi_BddarrayMakeFromBddPart( Ddi_Bdd_t * part )
Ddi_BddarrayToCU
Ddi_Bddarray_t * Ddi_BddarrayMakeFromCU( Ddi_Mgr_t * mgr, DdNode ** array, int n )
Ddi_BddarrayToCU
Ddi_Bddarray_t * Ddi_BddarrayMakeMeta( Ddi_Bddarray_t * f )
int Ddi_BddarrayNum( Ddi_Bddarray_t * array )
int Ddi_BddarrayOperation( Ddi_Mgr_t * defaultDdMgr, Default BDD Manager Ddi_Bddarray_t ** bddArrayP, BDD Array Pointer to manipulate char * string, String Pdtutil_MgrOp_t operationFlag, Operation Flag void ** voidPointer, Generic Pointer Pdtutil_MgrRet_t * returnFlag Type of the Pointer Returned )
int Ddi_BddarrayPrintSupportAndCubes( Ddi_Bddarray_t * fArray, BDD Array int numberPerRow, Number of Names Printed on a Single Row int cubeNumberMax, Maximum number of cubes printed int formatPla, Prints a 1 at the end of the cube (PLA format) int reverse, Reverse Order if 1 char * filename, File Name FILE * fp Pointer to the store file )
Ddi_Bdd_t * Ddi_BddarrayRead( Ddi_Bddarray_t * array, BDD array int i position )
Ddi_BddarrayWrite
void Ddi_BddarrayRemove( Ddi_Bddarray_t * array, array of BDDs int pos position of element to be cleared )
Ddi_BddarrayExtract
Ddi_BddarrayClear
int Ddi_BddarraySize( Ddi_Bddarray_t * array )
Ddi_BddSize
int Ddi_BddarrayStore( Ddi_Bddarray_t * array, array to be stored char * ddname, dd name (or NULL) char ** vnames, array of variable names (or NULL) char ** rnames, array of root names (or NULL) int * vauxids, array of aux var ids (or NULL) int mode, storing mode selector char * fname, file name FILE * fp pointer to the store file )
Dddmp_cuddBddStore
Ddi_BddStore
Ddi_Varset_t ** Ddi_BddarraySuppArray( Ddi_Bddarray_t * fArray array of function )
Ddi_Varset_t * Ddi_BddarraySupp( Ddi_Bddarray_t * array BDDs'array )
DdNode ** Ddi_BddarrayToCU( Ddi_Bddarray_t * array )
Ddi_BddarrayMakeFromCU
void Ddi_BddarrayWrite( Ddi_Bddarray_t * array, array of BDDs int pos, position of new element Ddi_Bdd_t * f BDD to be written )
Ddi_BddarrayRead
double Ddi_CountMinterm( Ddi_Bdd_t * f, int nvar )
char * Ddi_DenseMethodEnum2String( Ddi_DenseMethod_e enumType )
Ddi_DenseMethod_e Ddi_DenseMethodString2Enum( char * string String to Analyze )
Ddi_Expr_t * Ddi_ExprBoolMake( Ddi_Mgr_t * mgr, Ddi_Expr_t * op1, Ddi_Expr_t * op2 )
Ddi_ExprMakeFromBdd
Ddi_ExprMakeFromString
Ddi_Expr_t * Ddi_ExprCtlMake( Ddi_Mgr_t * mgr, int opcode, Ddi_Expr_t * op1, Ddi_Expr_t * op2, Ddi_Expr_t * op3 )
Ddi_ExprMakeFromBdd
Ddi_ExprMakeFromString
Ddi_Expr_t * Ddi_ExprDup( Ddi_Expr_t * f expression to be duplicated )
int Ddi_ExprIsTerminal( Ddi_Expr_t * e )
Ddi_Expr_t * Ddi_ExprLoad( Ddi_BddMgr * dd, dd manager char * filename, file name FILE * fp file pointer )
Ddi_Expr_t * Ddi_ExprMakeFromBdd( Ddi_Bdd_t * f )
DdiGenericAlloc
Ddi_ExprToBdd
Ddi_Expr_t * Ddi_ExprMakeFromString( Ddi_Mgr_t * mgr, char * s )
void Ddi_ExprPrint( Ddi_Expr_t * f, FILE * fp )
int Ddi_ExprReadOpcode( Ddi_Expr_t * e )
Ddi_Expr_t * Ddi_ExprReadSub( Ddi_Expr_t * e, int i )
int Ddi_ExprSubNum( Ddi_Expr_t * e )
Ddi_Bdd_t * Ddi_ExprToBdd( Ddi_Expr_t * e )
Ddi_ExprMakeFromBdd
char * Ddi_ExprToString( Ddi_Expr_t * e )
Ddi_ExprMakeFromString
Ddi_Expr_t * Ddi_ExprWriteSub( Ddi_Expr_t * e, int pos, Ddi_Expr_t * op )
Ddi_ExprMakeFromBdd
Ddi_ExprMakeFromString
Ddi_Generic_t * Ddi_GenericDup( Ddi_Generic_t * f )
void Ddi_GenericFree( Ddi_Generic_t * f block to be freed )
void Ddi_GenericLock( Ddi_Generic_t * f )
Ddi_GenericUnlock
Ddi_Generic_t * Ddi_GenericOpAcc( Ddi_OpCode_e opcode, operation code Ddi_Generic_t * f, first operand Ddi_Generic_t * g, first operand Ddi_Generic_t * h first operand )
Ddi_Generic_t * Ddi_GenericOp( Ddi_OpCode_e opcode, operation code Ddi_Generic_t * f, first operand Ddi_Generic_t * g, first operand Ddi_Generic_t * h first operand )
Ddi_Code_e Ddi_GenericReadCode( Ddi_Generic_t * f )
Ddi_Mgr_t * Ddi_GenericReadMgr( Ddi_Generic_t * f )
char * Ddi_GenericReadName( Ddi_Generic_t * f )
void Ddi_GenericSetName( Ddi_Generic_t * f, block to be freed char * name )
void Ddi_GenericUnlock( Ddi_Generic_t * f )
Ddi_GenericLock
Ddi_Var_t * Ddi_IthVar( Ddi_BddMgr * ddm, int index )
Ddi_VarIndex
Ddi_VarAtLevel
int Ddi_MetaActive( Ddi_Mgr_t * ddm )
void Ddi_MetaInit( Ddi_Mgr_t * ddm, Ddi_Meta_Method_e method, Ddi_Bdd_t * ref, Ddi_Varset_t * firstGroup, int sizeMin )
void Ddi_MetaQuit( Ddi_Mgr_t * ddm )
void Ddi_MgrAbortOnSiftDisable( Ddi_Mgr_t * dd dd manager )
void Ddi_MgrAbortOnSiftEnable( Ddi_Mgr_t * dd dd manager )
void Ddi_MgrAlign( Ddi_Mgr_t * dd, dd manager to be aligned Ddi_Mgr_t * ddRef reference dd manager )
void Ddi_MgrAutodynResume( Ddi_Mgr_t * dd dd manager )
Ddi_MgrInit
void Ddi_MgrAutodynSuspend( Ddi_Mgr_t * dd dd manager )
Ddi_MgrInit
int Ddi_MgrCheckExtRef( Ddi_Mgr_t * ddm, int n )
int Ddi_MgrConsistencyCheck( Ddi_Mgr_t * ddm )
void Ddi_MgrCreateGroups2( Ddi_Mgr_t * dd, manager Ddi_Vararray_t * vfix, first array Ddi_Vararray_t * vmov first array )
Ddi_Mgr_t * Ddi_MgrDup( Ddi_Mgr_t * dd source dd manager )
Ddi_MgrQuit
Ddi_Mgr_t * Ddi_MgrInit( char * ddiName, Name of the DDI structure DdManager * CUMgr, Input CD manager. Created if NULL unsigned int nvar, Initial Number of Variables unsigned int numSlots, Initial Size of Unique Table unsigned int cacheSize, Initial Size of Computed Table (cache) unsigned long memorySizeMax Max size of Memory )
Ddi_MgrQuit
int Ddi_MgrOperation( Ddi_Mgr_t ** ddMgrP, DD Manager Pointer char * string, String Pdtutil_MgrOp_t operationFlag, Operation Flag void ** voidPointer, Generic Pointer Pdtutil_MgrRet_t * returnFlagP Type of the Pointer Returned )
int Ddi_MgrOrdWrite( Ddi_Mgr_t * dd, Decision Diagram Manager char * filename, File Name FILE * fp, Pointer to Store File Pdtutil_VariableOrderFormat_e ordFileFormat File Format )
void Ddi_MgrPeakProdLocalReset( Ddi_Mgr_t * ddiMgr Decision Diagram Interface Manager )
void Ddi_MgrPeakProdUpdate( Ddi_Mgr_t * ddiMgr, Decision Diagram Interface Manager int size )
void Ddi_MgrPrintAllocStats( Ddi_Mgr_t * ddm, FILE * fp )
void Ddi_MgrPrintExtRef( Ddi_Mgr_t * ddm, int minNodeId )
void Ddi_MgrPrintStats( Ddi_Mgr_t * dd source dd manager )
void Ddi_MgrQuit( Ddi_Mgr_t * dd dd manager )
int Ddi_MgrReadCurrNodeId( Ddi_Mgr_t * dd source dd manager )
Ddi_MgrSetTracedId
unsigned int Ddi_MgrReadDynordThresh( Ddi_Mgr_t * dd source dd manager )
int Ddi_MgrReadExistClustThresh( Ddi_Mgr_t * dd source dd manager )
int Ddi_MgrReadExtBddRef( Ddi_Mgr_t * dd source dd manager )
int Ddi_MgrReadExtBddarrayRef( Ddi_Mgr_t * dd source dd manager )
int Ddi_MgrReadExtRef( Ddi_Mgr_t * dd source dd manager )
int Ddi_MgrReadExtVarsetRef( Ddi_Mgr_t * dd source dd manager )
DdManager * Ddi_MgrReadMgrCU( Ddi_Mgr_t * dd source dd manager )
Ddi_Bdd_t * Ddi_MgrReadOne( Ddi_Mgr_t * dd source dd manager )
int Ddi_MgrReadOrdNamesAuxids( Ddi_Mgr_t * dd, Manager char * filename, File Name FILE * fp, Pointer to the Store File Pdtutil_VariableOrderFormat_e ordFileFormat File Format )
int Ddi_MgrReadPeakProdGlobal( Ddi_Mgr_t * ddiMgr Decision Diagram Interface Manager )
int Ddi_MgrReadPeakProdLocal( Ddi_Mgr_t * ddiMgr Decision Diagram Interface Manager )
int * Ddi_MgrReadVarauxids( Ddi_Mgr_t * dd source dd manager )
char** Ddi_MgrReadVarnames( Ddi_Mgr_t * dd source dd manager )
Pdtutil_VerbLevel_e Ddi_MgrReadVerbosity( Ddi_Mgr_t * ddiMgr Decision Diagram Interface Manager )
Ddi_Bdd_t * Ddi_MgrReadZero( Ddi_Mgr_t * dd source dd manager )
void Ddi_MgrSetDynordThresh( Ddi_Mgr_t * dd, source dd manager unsigned int th threshold )
void Ddi_MgrSetExistClustThresh( Ddi_Mgr_t * dd, source dd manager int th )
void Ddi_MgrSetMgrCU( Ddi_Mgr_t * dd, source dd manager DdManager * m CUDD manager )
void Ddi_MgrSetOne( Ddi_Mgr_t * dd, source dd manager Ddi_Bdd_t * one one constant )
void Ddi_MgrSetTracedId( Ddi_Mgr_t * dd, source dd manager int id )
Ddi_MgrReadCurrNodeId
void Ddi_MgrSetVarauxids( Ddi_Mgr_t * dd, source dd manager int * va auxiliary variable ids )
void Ddi_MgrSetVarnames( Ddi_Mgr_t * dd, source dd manager char ** vn names of variables )
void Ddi_MgrSetVerbosity( Ddi_Mgr_t * ddiMgr, Decision Diagram Interface Manager Pdtutil_VerbLevel_e verbosity Verbosity Level )
void Ddi_MgrSetZero( Ddi_Mgr_t * dd, source dd manager Ddi_Bdd_t * zero zero constant )
void Ddi_MgrShuffle( Ddi_Mgr_t * dd, dd Manager to be Alligned int * sortedIds, Array of sorted ids int nids Number of ids )
void Ddi_MgrUpdate( Ddi_Mgr_t * ddm )
void Ddi_PrintCuddVersion( FILE * fp )
void Ddi_PrintDdArray( Ddi_Bddarray_t * array )
Ddi_PrintVararray
void Ddi_PrintVararray( Ddi_Vararray_t * array )
Ddi_PrintDdArray
char * Ddi_ProfileHeuristicEnum2String( Cuplus_PruneHeuristic_e enumType )
Cuplus_PruneHeuristic_e Ddi_ProfileHeuristicString2Enum( char * string String to Analyze )
double Ddi_ReadCacheHits( Ddi_Mgr_t * dd dd manager )
double Ddi_ReadCacheLookUps( Ddi_Mgr_t * dd dd manager )
unsigned int Ddi_ReadCacheSlots( Ddi_Mgr_t * dd source dd manager )
Ddi_Bdd_t * Ddi_ReadCube( Ddi_Mgr_t * dd, FILE * fp, int idOrName )
char * Ddi_ReadDdiName( Ddi_Mgr_t * dd source dd manager )
unsigned int Ddi_ReadMaxCacheHard( Ddi_Mgr_t * dd dd manager )
unsigned int Ddi_ReadMaxCache( Ddi_Mgr_t* dd dd manager )
unsigned int Ddi_ReadMinHit( Ddi_Mgr_t * dd dd manager )
Ddi_Varset_t * Ddi_ReadVarset( Ddi_Mgr_t * dd, FILE * fp, int idOrName )
char * Ddi_ReorderingMethodEnum2String( Cudd_ReorderingType enumType )
Cudd_ReorderingType Ddi_ReorderingMethodString2Enum( char * string String to Analyze )
void Ddi_SetDdiName( Ddi_Mgr_t * dd, source dd manager char * ddiName )
Ddi_Var_t * Ddi_VarAtLevel( Ddi_BddMgr * ddm, int lev )
Ddi_IthVar
void Ddi_VarAttachAuxid( Ddi_Var_t * var, int auxid )
void Ddi_VarAttachName( Ddi_Var_t * var, char * name )
Ddi_VarDetachName
int Ddi_VarAuxid( Ddi_Var_t * var )
Ddi_VarName
Ddi_Var_t * Ddi_VarCopy( Ddi_BddMgr * dd2, destination manager Ddi_Var_t * v variable to be copied )
int Ddi_VarCurrPos( Ddi_Var_t * var )
void Ddi_VarDetachName( Ddi_Var_t * var )
Ddi_VarAttachName
Ddi_Var_t * Ddi_VarFromAuxid( Ddi_BddMgr * ddm, int auxid )
Ddi_VArFromName
Ddi_Var_t * Ddi_VarFromCU( Ddi_BddMgr * ddm, DdNode * v )
Ddi_Var_t * Ddi_VarFromName( Ddi_BddMgr * ddm, char * name )
Ddi_VarFromAuxid
int Ddi_VarInVarset( Ddi_Varset_t * varset, var-set Ddi_Var_t * var variable )
int Ddi_VarIndex( Ddi_Var_t * var )
Ddi_IthVar
int Ddi_VarIsGrouped( Ddi_Var_t * v )
void Ddi_VarMakeGroupFixed( Ddi_BddMgr * dd, Ddi_Var_t * v, int grpSize )
Ddi_VarMakeGroupFixed
void Ddi_VarMakeGroup( Ddi_BddMgr * dd, Ddi_Var_t * v, int grpSize )
Ddi_VarMakeGroupFixed
char * Ddi_VarName( Ddi_Var_t * var )
Ddi_Var_t * Ddi_VarNewAfterVar( Ddi_Var_t * var )
Ddi_NewVarAtLevel
Ddi_Var_t * Ddi_VarNewAtLevel( Ddi_BddMgr * ddm, int lev )
Ddi_VarNew
Ddi_Var_t * Ddi_VarNewBeforeVar( Ddi_Var_t * var )
Ddi_NewVarAtLevel
Ddi_Var_t * Ddi_VarNew( Ddi_BddMgr * ddm )
Ddi_VarNewAtLevel
Ddi_VarFromCU
Ddi_Varset_t * Ddi_VarReadGroup( Ddi_Var_t * v )
Ddi_Bdd_t * Ddi_VarSubst( Ddi_Bdd_t * f, BDD Ddi_Vararray_t * x, first array of variables Ddi_Vararray_t * y second array of variables )
DdNode * Ddi_VarToCU( Ddi_Var_t * v )
Ddi_Vararray_t * Ddi_VararrayAlloc( Ddi_Mgr_t * mgr, DDI manager int size array length )
void Ddi_VararrayAppend( Ddi_Vararray_t * array1, first array Ddi_Vararray_t * array2 array to be appended )
Ddi_VararrayJoin
void Ddi_VararrayClear( Ddi_Vararray_t * array, array of variables int pos position of element to be cleared )
Ddi_VararrayRead
Ddi_Vararray_t * Ddi_VararrayCopy( Ddi_BddMgr * ddm, dd Manager Ddi_Vararray_t * old array of variables )
Ddi_VararrayDup
Ddi_Vararray_t * Ddi_VararrayDup( Ddi_Vararray_t * old array to be duplicated )
Ddi_VararrayAlloc
Ddi_Var_t * Ddi_VararrayExtract( Ddi_Vararray_t * array, variable array int i position )
Ddi_VararrayInsert
void Ddi_VararrayInsertLast( Ddi_Vararray_t * array, array of variables Ddi_Var_t * v variable to be written )
Ddi_VararrayExtract
void Ddi_VararrayInsert( Ddi_Vararray_t * array, array of variables int pos, position of new element Ddi_Var_t * v variable to be written )
Ddi_VararrayExtract
Ddi_Vararray_t * Ddi_VararrayMakeFromCU( Ddi_Mgr_t * mgr, DdNode ** array, int n )
Ddi_VararrayToCU
Ddi_Vararray_t * Ddi_VararrayMakeFromInt( Ddi_Mgr_t * mgr, int * array, int n )
Ddi_VararrayToCU
int Ddi_VararrayNum( Ddi_Vararray_t * array )
Ddi_Var_t * Ddi_VararrayRead( Ddi_Vararray_t * array, variable array int i position )
Ddi_VararrayInsert
void Ddi_VararrayRemove( Ddi_Vararray_t * array, array of variables int pos position of element to be cleared )
Ddi_VararrayExtract
Ddi_VararrayClear
DdNode ** Ddi_VararrayToCU( Ddi_Vararray_t * array )
Ddi_VararrayMakeFromCU
int * array of integer Ddi_VararrayToInt( Ddi_Vararray_t * array array of variables )
Ddi_VararrayToCU
void Ddi_VararrayWrite( Ddi_Vararray_t * array, array of variables int pos, position of new element Ddi_Var_t * var variable to be inserted )
Ddi_VararrayRead
Ddi_Varset_t * Ddi_VarsetAddAcc( Ddi_Varset_t * vs, var-set Ddi_Var_t * v the new variable added to var-set )
Ddi_VarsetAdd
Ddi_Varset_t * Ddi_VarsetAdd( Ddi_Varset_t * vs, var-set Ddi_Var_t * v the new variable added to var-set )
Ddi_VarsetAddAcc
Ddi_VarsetRemove
Ddi_VarsetRemoveAcc
Ddi_Var_t * Ddi_VarsetBottom( Ddi_Varset_t * varset var-set )
Ddi_VarsetTop
Ddi_Varset_t * Ddi_VarsetCopy( Ddi_BddMgr * dd2, destination manager Ddi_Varset_t * src var-set to be copied )
Ddi_Varset_t * Ddi_VarsetDiffAcc( Ddi_Varset_t * v1, first var-set Ddi_Varset_t * v2 second var-set )
Ddi_VarsetUnion
Ddi_Varset_t * Ddi_VarsetDiff( Ddi_Varset_t * v1, first var-set Ddi_Varset_t * v2 second var-set )
Ddi_VarsetUnionAcc
Ddi_VarsetIntersect
Ddi_VarsetDiff
Ddi_Varset_t * Ddi_VarsetDup( Ddi_Varset_t * src var-set to be copied )
int Ddi_VarsetEqual( Ddi_Varset_t * varset1, first var-set Ddi_Varset_t * varset2 second var-set )
Ddi_Varset_t * Ddi_VarsetEvalFree( Ddi_Varset_t * f, expression Ddi_Varset_t * g varset to be freed )
Ddi_Varset_t * Ddi_VarsetIntersectAcc( Ddi_Varset_t * v1, first var-set Ddi_Varset_t * v2 second var-set )
Ddi_VarsetUnion
Ddi_Varset_t * Ddi_VarsetIntersect( Ddi_Varset_t * v1, first var-set Ddi_Varset_t * v2 second var-set )
Ddi_VarsetUnion
Ddi_VarsetIntersectAcc
Ddi_VarsetDiff
int Ddi_VarsetIsVoid( Ddi_Varset_t * varset )
Ddi_Varset_t * Ddi_VarsetMakeFromArray( Ddi_Vararray_t * va )
Ddi_Varset_t * Ddi_VarsetMakeFromCU( Ddi_Mgr_t * mgr, DdNode * bdd )
DdiGenericAlloc
Ddi_Varset_t * Ddi_VarsetMakeFromVar( Ddi_Var_t * v )
Ddi_VarsetMakeFromCU
Ddi_VarsetMakeFromArray
Ddi_Varset_t * Ddi_VarsetNextAcc( Ddi_Varset_t * vs )
Ddi_Varset_t * Ddi_VarsetNext( Ddi_Varset_t * vs )
int Ddi_VarsetNum( Ddi_Varset_t * vars varset )
void Ddi_VarsetPrint( Ddi_Varset_t * vars, Varset to Print int numberPerRow, Number of Names Printed on a Single Row char * filename, File Name FILE * fp output file pointer )
Ddi_Varset_t * Ddi_VarsetRemoveAcc( Ddi_Varset_t * vs, Ddi_Var_t * v )
Ddi_VarsetAdd
Ddi_VarsetRemove
Ddi_Varset_t * Ddi_VarsetRemove( Ddi_Varset_t * vs, Ddi_Var_t * v )
Ddi_VarsetAdd
Ddi_VarsetRemoveAcc
Ddi_Varset_t * Ddi_VarsetSubstVarsAcc( Ddi_Varset_t * vs, input varset Ddi_Vararray_t * x, 1-st array of variables Ddi_Vararray_t * y 2-nd array of variables )
Ddi_Varset_t * Ddi_VarsetSubstVars( Ddi_Varset_t * vs, input varset Ddi_Vararray_t * x, 1-st array of variables Ddi_Vararray_t * y 2-nd array of variables )
Ddi_Varset_t * Ddi_VarsetSwapVarsAcc( Ddi_Varset_t * vs, input varset Ddi_Vararray_t * x, 1-st array of variables Ddi_Vararray_t * y 2-nd array of variables )
Ddi_Varset_t * Ddi_VarsetSwapVars( Ddi_Varset_t * vs, input varset Ddi_Vararray_t * x, 1-st array of variables Ddi_Vararray_t * y 2-nd array of variables )
Ddi_BddNode * Ddi_VarsetToCU( Ddi_Varset_t * vs )
Ddi_VarsetMakeFromCU
Ddi_Var_t * Ddi_VarsetTop( Ddi_Varset_t * varset var-set )
Ddi_VarsetBottom
Ddi_Varset_t * Ddi_VarsetUnionAcc( Ddi_Varset_t * v1, first var-set Ddi_Varset_t * v2 second var-set )
Ddi_VarsetUnion
Ddi_Varset_t * Ddi_VarsetUnion( Ddi_Varset_t * v1, first var-set Ddi_Varset_t * v2 second var-set )
Ddi_VarsetUnionAcc
Ddi_VarsetIntersect
Ddi_VarsetDiff
Ddi_Varset_t * Ddi_VarsetVoid( Ddi_BddMgr * ddm )
Ddi_Var_t * Ddi_VarsetWalkCurr( Ddi_Varset_t * vs )
int Ddi_VarsetWalkEnd( Ddi_Varset_t * vs )
void Ddi_VarsetWalkStart( Ddi_Varset_t * vs )
void Ddi_VarsetWalkStep( Ddi_Varset_t * vs )
Ddi_Varsetarray_t * Ddi_VarsetarrayAlloc( Ddi_Mgr_t * mgr, DDI manager int length array length )
Ddi_VarsetarrayWrite
void Ddi_VarsetarrayClear( Ddi_Varsetarray_t * array, array of varsets int pos position of element to be cleared )
Ddi_VarsetarrayRead
Ddi_Varsetarray_t * Ddi_VarsetarrayCopy( Ddi_BddMgr * ddm, dd Manager Ddi_Varsetarray_t * old array of varsets )
Ddi_VarsetarrayDup
Ddi_Varsetarray_t * Ddi_VarsetarrayDup( Ddi_Varsetarray_t * old array to be duplicated )
Ddi_VarsetarrayAlloc
void Ddi_VarsetarrayInsertLast( Ddi_Varsetarray_t * array, array of varsets Ddi_Varset_t * vs varset to be written )
Ddi_VarsetarrayInsert
void Ddi_VarsetarrayInsert( Ddi_Varsetarray_t * array, array of varsets int pos, position of new element Ddi_Varset_t * vs varset to be written )
Ddi_VarsetarrayRead
int Ddi_VarsetarrayNum( Ddi_Varsetarray_t * array )
Ddi_Varset_t * Ddi_VarsetarrayRead( Ddi_Varsetarray_t * array, varset array int i position )
Ddi_VarsetarrayWrite
void Ddi_VarsetarrayWrite( Ddi_Varsetarray_t * array, array of varsets int pos, position of new element Ddi_Varset_t * vs varset to be written )
Ddi_VarsetarrayRead