NuSMV/code/nusmv/core/dd/dd.h File Reference

#include "nusmv/core/dd/DDMgr.h"
#include "nusmv/core/utils/utils.h"
#include "nusmv/core/utils/array.h"
#include "nusmv/core/utils/avl.h"
#include "nusmv/core/node/node.h"
#include "cudd/cudd.h"
#include "nusmv/core/opt/OptsHandler.h"
#include "nusmv/core/cinit/NuSMVEnv.h"

Go to the source code of this file.

Defines

#define ADD_FOREACH_NODE(manager, f, gen, node)   Cudd_ForeachNode(DDMgr_get_dd_manager(manager), f, gen, node)
#define BDD_FOREACH_NODE(manager, f, gen, node)   ADD_FOREACH_NODE(manager, f, gen, node)
#define CACHE_SLOTS   CUDD_CACHE_SLOTS
#define DEFAULT_MINSIZE   10
#define DEFAULT_REORDER   REORDER_SIFT
#define MAX_VAR_INDEX   CUDD_MAXINDEX
#define REORDER_ANNEALING   CUDD_REORDER_ANNEALING
#define REORDER_EXACT   CUDD_REORDER_EXACT
#define REORDER_GENETIC   CUDD_REORDER_GENETIC
#define REORDER_GROUP_SIFT   CUDD_REORDER_GROUP_SIFT
#define REORDER_GROUP_SIFT_CONV   CUDD_REORDER_GROUP_SIFT_CONV
#define REORDER_LINEAR   CUDD_REORDER_LINEAR
#define REORDER_LINEAR_CONV   CUDD_REORDER_LINEAR_CONVERGE
#define REORDER_NONE   CUDD_REORDER_NONE
#define REORDER_RANDOM   CUDD_REORDER_RANDOM
#define REORDER_RANDOM_PIVOT   CUDD_REORDER_RANDOM_PIVOT
#define REORDER_SAME   CUDD_REORDER_SAME
#define REORDER_SIFT   CUDD_REORDER_SIFT
#define REORDER_SIFT_CONV   CUDD_REORDER_SIFT_CONVERGE
#define REORDER_SYMM_SIFT   CUDD_REORDER_SYMM_SIFT
#define REORDER_SYMM_SIFT_CONV   CUDD_REORDER_SYMM_SIFT_CONV
#define REORDER_WINDOW2   CUDD_REORDER_WINDOW2
#define REORDER_WINDOW2_CONV   CUDD_REORDER_WINDOW2_CONV
#define REORDER_WINDOW3   CUDD_REORDER_WINDOW3
#define REORDER_WINDOW3_CONV   CUDD_REORDER_WINDOW3_CONV
#define REORDER_WINDOW4   CUDD_REORDER_WINDOW4
#define REORDER_WINDOW4_CONV   CUDD_REORDER_WINDOW4_CONV
#define UNIQUE_SLOTS   CUDD_UNIQUE_SLOTS

Typedefs

typedef DdGen dd_gen
typedef Cudd_ReorderingType dd_reorderingtype
typedef add_ptr(* FP_A_DA )(DDMgr_ptr, add_ptr)
typedef add_ptr(* FP_A_DAA )(DDMgr_ptr, add_ptr, add_ptr)
typedef node_ptr(* NPFCVT )(CUDD_VALUE_TYPE)
typedef node_ptr(* NPFDD )(DDMgr_ptr, bdd_ptr)
typedef node_ptr(* NPFNNE )(node_ptr, node_ptr, const NuSMVEnv_ptr)
typedef void(* VPFCVT )(CUDD_VALUE_TYPE)
typedef void(* VPFDD )(DDMgr_ptr, bdd_ptr)
typedef void(* VPFDDCVT )(DDMgr_ptr, CUDD_VALUE_TYPE)

Enumerations

enum  DdDynVarOrderAction { DD_DYN_VAR_ORDER_ACTION_DISABLE = 1, DD_DYN_VAR_ORDER_ACTION_ENABLE, DD_DYN_VAR_ORDER_ACTION_FORCE }
 

The possible actions to control dynamic var reordering.

More...

Functions

char * Dd_action_enum_to_str (DdDynVarOrderAction action)
DdDynVarOrderAction Dd_action_str_to_enum (char *action)
int Dd_dynamic_var_ordering (NuSMVEnv_ptr env, DDMgr_ptr dd, int dynOrderingMethod, DdDynVarOrderAction action)
 Enable, disable or force to happen the dynamic var reordering.
void Dd_init (NuSMVEnv_ptr env)
 Initializes the DD structures within the given environment.
void Dd_quit (NuSMVEnv_ptr env)
 Deinitializes the DD structures within the given environment.
int Dd_set_bdd_parameters (NuSMVEnv_ptr env, DDMgr_ptr dd_manager, boolean showAfter)
 Prints the user flags of the cudd package so the user can set them.

Define Documentation

#define ADD_FOREACH_NODE ( manager,
f,
gen,
node   )     Cudd_ForeachNode(DDMgr_get_dd_manager(manager), f, gen, node)
Todo:
Missing synopsis
Todo:
Missing description
#define BDD_FOREACH_NODE ( manager,
f,
gen,
node   )     ADD_FOREACH_NODE(manager, f, gen, node)
Todo:
Missing synopsis
Todo:
Missing description
#define CACHE_SLOTS   CUDD_CACHE_SLOTS
Todo:
Missing synopsis
Todo:
Missing description
#define DEFAULT_MINSIZE   10
Todo:
Missing synopsis
Todo:
Missing description
#define DEFAULT_REORDER   REORDER_SIFT
Todo:
Missing synopsis
Todo:
Missing description
#define MAX_VAR_INDEX   CUDD_MAXINDEX
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_ANNEALING   CUDD_REORDER_ANNEALING
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_EXACT   CUDD_REORDER_EXACT
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_GENETIC   CUDD_REORDER_GENETIC
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_GROUP_SIFT   CUDD_REORDER_GROUP_SIFT
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_GROUP_SIFT_CONV   CUDD_REORDER_GROUP_SIFT_CONV
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_LINEAR   CUDD_REORDER_LINEAR
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_LINEAR_CONV   CUDD_REORDER_LINEAR_CONVERGE
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_NONE   CUDD_REORDER_NONE
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_RANDOM   CUDD_REORDER_RANDOM
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_RANDOM_PIVOT   CUDD_REORDER_RANDOM_PIVOT
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_SAME   CUDD_REORDER_SAME
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_SIFT   CUDD_REORDER_SIFT
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_SIFT_CONV   CUDD_REORDER_SIFT_CONVERGE
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_SYMM_SIFT   CUDD_REORDER_SYMM_SIFT
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_SYMM_SIFT_CONV   CUDD_REORDER_SYMM_SIFT_CONV
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_WINDOW2   CUDD_REORDER_WINDOW2
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_WINDOW2_CONV   CUDD_REORDER_WINDOW2_CONV
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_WINDOW3   CUDD_REORDER_WINDOW3
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_WINDOW3_CONV   CUDD_REORDER_WINDOW3_CONV
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_WINDOW4   CUDD_REORDER_WINDOW4
Todo:
Missing synopsis
Todo:
Missing description
#define REORDER_WINDOW4_CONV   CUDD_REORDER_WINDOW4_CONV
Todo:
Missing synopsis
Todo:
Missing description
#define UNIQUE_SLOTS   CUDD_UNIQUE_SLOTS
Todo:
Missing synopsis
Todo:
Missing description

Typedef Documentation

typedef DdGen dd_gen
Todo:
Missing synopsis
Todo:
Missing description
typedef Cudd_ReorderingType dd_reorderingtype
Todo:
Missing synopsis
Todo:
Missing description
typedef add_ptr(* FP_A_DA)(DDMgr_ptr, add_ptr)
Todo:
Missing synopsis
Todo:
Missing description
typedef add_ptr(* FP_A_DAA)(DDMgr_ptr, add_ptr, add_ptr)
typedef node_ptr(* NPFCVT)(CUDD_VALUE_TYPE)
typedef node_ptr(* NPFDD)(DDMgr_ptr, bdd_ptr)
Todo:
Missing synopsis
Todo:
Missing description
typedef node_ptr(* NPFNNE)(node_ptr, node_ptr, const NuSMVEnv_ptr)
typedef void(* VPFCVT)(CUDD_VALUE_TYPE)
typedef void(* VPFDD)(DDMgr_ptr, bdd_ptr)
Todo:
Missing synopsis
Todo:
Missing description
typedef void(* VPFDDCVT)(DDMgr_ptr, CUDD_VALUE_TYPE)

Enumeration Type Documentation

The possible actions to control dynamic var reordering.

Enumerator:
DD_DYN_VAR_ORDER_ACTION_DISABLE 
DD_DYN_VAR_ORDER_ACTION_ENABLE 
DD_DYN_VAR_ORDER_ACTION_FORCE 

Function Documentation

char* Dd_action_enum_to_str ( DdDynVarOrderAction  action  ) 
DdDynVarOrderAction Dd_action_str_to_enum ( char *  action  ) 
int Dd_dynamic_var_ordering ( NuSMVEnv_ptr  env,
DDMgr_ptr  dd,
int  dynOrderingMethod,
DdDynVarOrderAction  action 
)

Enable, disable or force to happen the dynamic var reordering.

void Dd_init ( NuSMVEnv_ptr  env  ) 

Initializes the DD structures within the given environment.

Initializes the DD structures within the given environment

void Dd_quit ( NuSMVEnv_ptr  env  ) 

Deinitializes the DD structures within the given environment.

Deinitializes the DD structures within the given environment

int Dd_set_bdd_parameters ( NuSMVEnv_ptr  env,
DDMgr_ptr  dd_manager,
boolean  showAfter 
)

Prints the user flags of the cudd package so the user can set them.

The user can control the cudd package by setting the flags printed by this function

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 14 Oct 2015 for NuSMV Developers Manual by  doxygen 1.6.1