Ddi_DdArray_t * Part_DdArrayMultiwayLinearAndExist( Ddi_DdArray_t * Fa, Array of BDDs Ddi_VarSet_t * smoothV, Var Set int threshold, Size threshold for result factor int verbosity Level of verbosity )
Exist (smoothV) ( f1*f2*f2* ... *fn )
where f1,f2,..fn are elements of a array's function (DdArray),
and smoothV are variables that must be abstracted.
Although existential abstraction does not distribute over
conjunction, function can be moved out of the scope of an
existential quantification if they do not depend on any of
the variables being quantified.
This method is called early quantification or
early smooth.
partConj.c
Ddi_Dd_t * Part_DdDisjSuppPart( Ddi_Dd_t * f, a BDD Ddi_Dd_t * TR, a Clustered Transition Relation Ddi_VarArray_t * psv, array of present state variables Ddi_VarArray_t * nsv, array of next state variables int verbosity level of verbosity )
partConj.c
Ddi_Dd_t * Part_DdMultiwayLinearAndExist( Ddi_Dd_t * FPart, Input partitioned function Ddi_VarSet_t * smoothV, Var Set int threshold, Size threshold for result factor int verbosity, Level of verbosity int * sizeMaxP Pointer to Size Max )
partConj.c
int Part_EstimateCofactorComplex( Ddi_Dd_t * f, Input BDD Ddi_Dd_t * topVar Top Variable )
partEstimateCofactor
partCuPlus.c
int Part_EstimateCofactorFast( Ddi_Dd_t * f, int LeftRight, Ddi_VarSet_t * supp, int suppSize, int * totalArray, int * thenArray, int * elseArray )
partCuPlus.c
int Part_EstimateCofactorFreeOrder( Ddi_Dd_t * f, Input BDD Ddi_Dd_t * topVar, Top Variable Ddi_VarSet_t * supp, int * vet )
partCuPlus.c
int Part_EstimateCofactor( Ddi_Dd_t * f, Input BDD Ddi_Dd_t * topVar Top Variable )
partEstimateCofactor
partCuPlus.c
char * Part_MethodEnum2String( Part_Method_e enumType )
Part_MethodString2Enum
partUtil.c
Part_Method_e Part_MethodString2Enum( char * string String to Analyze )
Part_MethodEnum2String
partUtil.c
Ddi_Dd_t * Part_PartitionDisjSet( Ddi_Dd_t * f, Input BDD Ddi_VarSet_t * careVars, Set of Vars Part_Method_e partitionMethod, Partition Method int threshold, Threshold Size Pdtutil_VerbLevel_e verbosity Verbosity Level )
Trav_Traversal
partPartitionDisjSet
partDisj.c
Ddi_Dd_t * Part_PartitionSetCudd( Ddi_Dd_t * f, Input BDD Part_Method_e partitionMethod, Partition Method int threshold, Threshold Size Pdtutil_VerbLevel_e verbosity Verbosity Level )
partCudd.c
Ddi_Dd_t * Part_PartitionSetInterface( Ddi_Dd_t * f, Input BDD Ddi_VarSet_t * careVars, Set of Vars Part_Method_e partitionMethod, Partition Method int threshold, Threshold Size Pdtutil_VerbLevel_e verbosity Verbosity Level )
Trav_Traversal
partPartitionDisjSet
partDisj.c
static void comparisonRoutine( Ddi_Dd_t * f, input BDD Ddi_Var_t * topVar, top variable int * thenSize, number nodes cofactors int * elseSize number nodes cofactors )
varSelection
exactCofactor
estimateCofactor
estimateCofactor
partDisj.c
static void ddFlagClear( Ddi_DdNode * f input BDD )
Part_EstimateCofactor
Part_EstimateCofactor
partCuPlus.c
static void estimateCofactorComplex( Ddi_Dd_t * f, input BDD Ddi_Var_t * topVar, top variable int * thenSize, number nodes cofactors int * elseSize number nodes cofactors )
varSelection
Part_EstimateCofactor
partDisj.c
static void estimateCofactorFreeOrder( Ddi_Dd_t * f, input BDD Ddi_Var_t * topVar, top variable int * thenSize, number nodes cofactors int * elseSize, number nodes cofactors int * thenArray, thenArray int * elseArray elseArray )
varSelection
Part_EstimateCofactor
partDisj.c
static void estimateCofactor( Ddi_Dd_t * f, input BDD Ddi_Var_t * topVar, top variable int * thenSize, number nodes cofactors int * elseSize number nodes cofactors )
varSelection
Part_EstimateCofactor
partDisj.c
static float estimateCostFreeOrder( int size, total size int thenSize, left child size int elseSize, right child size int * thenArray, left statistics int * elseArray, right statistics int varPos, Variable Position int suppSize Number of Variables )
partitionSetInt
cofactorBased
fsBased
stqBased
comparisonRoutine
partDisj.c
static float estimateCost( int size, Total Size int thenSize, Left Child Size int elseSize, Right Child Size int varPos, Variable Position int suppSize Variable Number )
partPartitionDisjSet
partDisj.c
static void exactCofactor( Ddi_Dd_t * f, Input BDD Ddi_Var_t * topVar, Top variable int * thenSize, Number nodes cofactors int * elseSize Number nodes cofactors )
varSelection
partDisj.c
static struct fs_struct partEstimateCofactorComplex( Ddi_DdNode * f, Input BDD Ddi_Dd_t * topVar Top Variable )
Part_EstimateCofactor
partCuPlus.c
static int partEstimateCofactorFast( Ddi_DdNode * f, input BDD int LeftRight, Ddi_VarSet_t * supp, int suppSize, int * totalArray, int * thenArray, int * elseArray )
fsCntNodesVar
partCuPlus.c
static int partEstimateCofactorFreeOrder( Ddi_DdNode * f, Input BDD Ddi_Dd_t * topVar, Top Variable Ddi_VarSet_t * supp, int * vet )
partCuPlus.c
static int partEstimateCofactor( Ddi_DdNode * f, Input BDD Ddi_Dd_t * topVar Top Variable )
Part_EstimateCofactor
partCuPlus.c
static void partPartitionCudd( Ddi_Dd_t * function, Function to Partition Part_Method_e partitionMethod, Partition Method int threshold, Threshold Size Ddi_DdArray_t * partition, Partition Array Pdtutil_VerbLevel_e verbosity Verbosity Level )
partCudd.c
static void partPartitionDisjSet( Ddi_Dd_t * f, Input BDD Ddi_Dd_t * c, Constraining Cube Ddi_VarSet_t * careVars, Set of Vars Part_Method_e partitionMethod, Partition Method int threshold, Threshold Size Ddi_DdArray_t * ddVet, Partition Array Pdtutil_VerbLevel_e verbosity Verbosity Level )
Part_PartitionSet
varSelectionManual
varSelection
varSelectionFreeOrder
partDisj.c
static Ddi_Var_t * varSelectionFast( Ddi_Dd_t * f, Input BDD Ddi_VarSet_t * careVars Set of Variables )
selectBestVar
stqCntNodesVar
partDisj.c
static Ddi_Var_t * varSelectionManual( Ddi_Dd_t * f input BDD )
partPartitionDisjSet
partDisj.c
static Ddi_Var_t * varSelection( Ddi_Dd_t * f, Input BDD Ddi_VarSet_t * careVars, Set of Variables Part_Method_e partitionMethod Partition Method )
partPartitionDisjSet
exactCofactor
estimateCofactor
estimateCofactor
comparisonRoutine
partDisj.c