EncCache_ptr 
EncCache_create(
    
)
Class constructor

Defined in EncCache.c

void 
EncCache_destroy(
  EncCache_ptr  self 
)
Class destructor

Defined in EncCache.c

boolean 
EncCache_is_constant_defined(
  EncCache_ptr  self, 
  node_ptr  constant 
)
Returns true if the given constant has been already added

Defined in EncCache.c

boolean 
EncCache_is_symbol_declared(
  EncCache_ptr  self, 
  node_ptr  name 
)

Defined in EncCache.c

boolean 
EncCache_is_symbol_define(
  EncCache_ptr  self, 
  node_ptr  name 
)

Defined in EncCache.c

boolean 
EncCache_is_symbol_input_var(
  EncCache_ptr  self, 
  node_ptr  name 
)

Defined in EncCache.c

boolean 
EncCache_is_symbol_state_var(
  EncCache_ptr  self, 
  node_ptr  name 
)

Defined in EncCache.c

boolean 
EncCache_is_symbol_var(
  EncCache_ptr  self, 
  node_ptr  name 
)

Defined in EncCache.c

node_ptr 
EncCache_lookup_symbol(
  EncCache_ptr  self, 
  node_ptr  name 
)
Returned node can be either VAR, IVAR or CONTEXT. Value is searched first in the cache, then in the symbol hash

Defined in EncCache.c

void 
EncCache_new_constant(
  EncCache_ptr  self, 
  node_ptr  c 
)
A new leaf (constant) is added to the constants list

Defined in EncCache.c

void 
EncCache_new_define(
  EncCache_ptr  self, 
  node_ptr  name, 
  node_ptr  ctx, 
  node_ptr  definition 
)

Defined in EncCache.c

void 
EncCache_new_input_var(
  EncCache_ptr  self, 
  node_ptr  var, 
  node_ptr  range 
)
The variable encoding must be associated later

Defined in EncCache.c

void 
EncCache_new_state_var(
  EncCache_ptr  self, 
  node_ptr  var, 
  node_ptr  range 
)
The variable encoding must be associated later

Defined in EncCache.c

void 
EncCache_pop_status(
  EncCache_ptr  self 
)

Defined in EncCache.c

void 
EncCache_push_status_and_reset(
  EncCache_ptr  self 
)

Defined in EncCache.c

Encoding_ptr 
Encoding_create(
    
)

Defined in Encoding.c

void 
Encoding_declare_constant(
  Encoding_ptr  self, 
  node_ptr  name 
)
A new constant is created

Defined in Encoding.c

void 
Encoding_declare_define(
  Encoding_ptr  self, 
  node_ptr  name, 
  node_ptr  ctx, 
  node_ptr  definition 
)
A new define is created with the given range, but no type

Defined in Encoding.c

void 
Encoding_declare_determ_var(
  Encoding_ptr  self, 
  node_ptr  var 
)
A new boolean input variable is created, and given name is added to determinization variables list

Defined in Encoding.c

void 
Encoding_declare_input_var(
  Encoding_ptr  self, 
  node_ptr  var, 
  node_ptr  range 
)
A new input variable is created with the given range, but no type.

Defined in Encoding.c

void 
Encoding_declare_state_var(
  Encoding_ptr  self, 
  node_ptr  var, 
  node_ptr  range 
)
A new state variable is created with the given range, but no type

Defined in Encoding.c

void 
Encoding_destroy(
  Encoding_ptr  self 
)

Defined in Encoding.c

void 
Encoding_encode_vars(
  Encoding_ptr  self 
)
Performs the symbolic variables encoding

Defined in Encoding.c

void 
Encoding_encode_var(
  Encoding_ptr  self, 
  node_ptr  name 
)
This function encodes the variable name, that must have been previously declared. The resulting encoding is still a symbolic expression representing the encoding. The boolean variables created are grouped together, in such a way that the BDD dynamic reordering consider them as a single block.

See Also encoding_encode_var_recur
Defined in Encoding.c

NodeList_ptr 
Encoding_get_all_model_symbols_list(
  const Encoding_ptr  self 
)
Self keeps the ownership of the returned instance

Defined in Encoding.c

NodeList_ptr 
Encoding_get_all_model_vars_list(
  const Encoding_ptr  self 
)
Self keeps the ownership of the returned instance

Defined in Encoding.c

GroupSet_ptr 
Encoding_get_bool_input_vars_groups(
  const Encoding_ptr  self 
)
After the variables have been encoded, they are internally organized in separate groups. All variables appearing in the same group should be kept grouped by the specific encoding, to prevent dynamic encoding to wander away them. Self keeps the ownership of the returned instance of GroupsSet

See Also Encoding_get_bool_state_vars_groups
Defined in Encoding.c

NodeList_ptr 
Encoding_get_bool_input_vars_list(
  const Encoding_ptr  self 
)
Take into consideration to call Encoding_sort_bool_vars before calling this method, in order to get a sorted list of bool vars. Self keeps the ownership of the returned instance

Defined in Encoding.c

int 
Encoding_get_bool_input_vars_num(
  const Encoding_ptr  self 
)

Defined in Encoding.c

GroupSet_ptr 
Encoding_get_bool_state_vars_groups(
  const Encoding_ptr  self 
)
After the variables have been encoded, they are internally organized in separate groups. All variables appearing in the same group should be kept grouped by the specific encoding, to prevent dynamic encoding to wander away them. Self keeps the ownership of the returned instance of GroupsSet

See Also Encoding_get_bool_input_vars_groups
Defined in Encoding.c

NodeList_ptr 
Encoding_get_bool_state_vars_list(
  const Encoding_ptr  self 
)
Take into consideration to call Encoding_sort_bool_vars before calling this method, in order to get a sorted list of bool vars. Self keeps the ownership of the returned instance

Defined in Encoding.c

int 
Encoding_get_bool_state_vars_num(
  const Encoding_ptr  self 
)

Defined in Encoding.c

NodeList_ptr 
Encoding_get_bool_vars_list(
  const Encoding_ptr  self 
)
Take into consideration to call Encoding_sort_bool_vars before calling this method, in order to get a sorted list of bool vars. Sorted or not, first are returned input vars, and after them come state vars. WARNING: The *caller* is responsible for destroying the returned instance

Defined in Encoding.c

NodeList_ptr 
Encoding_get_constants_list(
  const Encoding_ptr  self 
)
Self keeps the ownership of the returned instance

Defined in Encoding.c

int 
Encoding_get_constants_num(
  const Encoding_ptr  self 
)

Defined in Encoding.c

node_ptr 
Encoding_get_define_body(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returns the body of the given define name

Defined in Encoding.c

node_ptr 
Encoding_get_define_context(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returns the body of the given define name

Defined in Encoding.c

node_ptr 
Encoding_get_define_flatten_body(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returns the flattenized body of the given define name

Defined in Encoding.c

NodeList_ptr 
Encoding_get_defines_list(
  const Encoding_ptr  self 
)

Defined in Encoding.c

int 
Encoding_get_defines_num(
  const Encoding_ptr  self 
)

Defined in Encoding.c

NodeList_ptr 
Encoding_get_input_vars_list(
  const Encoding_ptr  self 
)
Self keeps the ownership of the returned instance

Defined in Encoding.c

int 
Encoding_get_input_vars_num(
  const Encoding_ptr  self 
)

Defined in Encoding.c

NodeList_ptr 
Encoding_get_model_input_symbols_list(
  const Encoding_ptr  self 
)
Returned list belongs to self, do not destroy it

Defined in Encoding.c

NodeList_ptr 
Encoding_get_model_input_vars_list(
  const Encoding_ptr  self 
)
Self keeps the ownership of the returned instance

Defined in Encoding.c

int 
Encoding_get_model_input_vars_num(
  const Encoding_ptr  self 
)
Returns the number of input vars that occurs in the model. If process_selector has a range larger than one, it will occur in the returned count as well, otherwise it won't occur.

Defined in Encoding.c

NodeList_ptr 
Encoding_get_model_state_input_symbols_list(
  const Encoding_ptr  self 
)
Returned list belongs to self, do not destroy it

Defined in Encoding.c

NodeList_ptr 
Encoding_get_model_state_symbols_list(
  const Encoding_ptr  self 
)
Returned list belongs to self, do not destroy it

Defined in Encoding.c

node_ptr 
Encoding_get_scalar_var_of_bit(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returns the name of the scalar variable whose the given bit belongs. The given var MUST be a bit

See Also Encoding_is_var_bit
Defined in Encoding.c

NodeList_ptr 
Encoding_get_state_vars_list(
  const Encoding_ptr  self 
)
Self keeps the ownership of the returned instance

Defined in Encoding.c

int 
Encoding_get_state_vars_num(
  const Encoding_ptr  self 
)

Defined in Encoding.c

NodeList_ptr 
Encoding_get_var_encoding_bool_vars(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returned list must be destroyed by caller

Defined in Encoding.c

node_ptr 
Encoding_get_var_encoding(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returns the symbolic encoding for a given variable

Defined in Encoding.c

node_ptr 
Encoding_get_var_range(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returns the range of a given variable

Defined in Encoding.c

boolean 
Encoding_is_constant_defined(
  const Encoding_ptr  self, 
  node_ptr  constant 
)

Defined in Encoding.c

boolean 
Encoding_is_symbol_boolean_var(
  const Encoding_ptr  self, 
  node_ptr  name 
)

Defined in Encoding.c

boolean 
Encoding_is_symbol_constant(
  const Encoding_ptr  self, 
  node_ptr  name 
)

Defined in Encoding.c

boolean 
Encoding_is_symbol_declared(
  const Encoding_ptr  self, 
  node_ptr  name 
)

Defined in Encoding.c

boolean 
Encoding_is_symbol_define(
  const Encoding_ptr  self, 
  node_ptr  name 
)

Defined in Encoding.c

boolean 
Encoding_is_symbol_input_var(
  const Encoding_ptr  self, 
  node_ptr  name 
)

Defined in Encoding.c

boolean 
Encoding_is_symbol_model_input_var(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returns true if given symbol is an input variable that belongs to the model, and it is not an internal input var, such as a determinization var

Defined in Encoding.c

boolean 
Encoding_is_symbol_state_var(
  const Encoding_ptr  self, 
  node_ptr  name 
)

Defined in Encoding.c

boolean 
Encoding_is_symbol_var(
  const Encoding_ptr  self, 
  node_ptr  name 
)

Defined in Encoding.c

boolean 
Encoding_is_var_bit(
  const Encoding_ptr  self, 
  node_ptr  name 
)
Returs true if the given symbol is the name of a bit variable that is part of a scalar var

See Also Encoding_get_scalar_var_of_bit
Defined in Encoding.c

boolean 
Encoding_list_contains_input_vars(
  Encoding_ptr  self, 
  NodeList_ptr  var_list 
)
Iterates through the elements in var_list checking each one to see if it is an input variable.

Defined in Encoding.c

boolean 
Encoding_list_contains_state_vars(
  Encoding_ptr  self, 
  NodeList_ptr  var_list 
)
Iterates through the elements in var_list checking each one to see if it is a state variable.

Defined in Encoding.c

node_ptr 
Encoding_lookup_symbol(
  const Encoding_ptr  self, 
  node_ptr  name 
)

Defined in Encoding.c

void 
Encoding_pop_status(
  Encoding_ptr  self 
)

Defined in Encoding.c

void 
Encoding_push_status_and_reset(
  Encoding_ptr  self 
)

Defined in Encoding.c

void 
Encoding_sort_bool_vars(
  Encoding_ptr  self, 
  const char* input_order_file 
)
This method changes only the lists returned by methods Encoding_get_bool_{, input, state}_vars_list.

Side Effects {state, input}_boolean_variables might change

Defined in Encoding.c

void 
GroupSet_add_group(
  GroupSet_ptr  self, 
  NodeList_ptr  group 
)
The given group becomes owned by self, user loses ownership of it

Defined in GroupSet.c

GroupSet_ptr 
GroupSet_create(
    
)
Constructor

Defined in GroupSet.c

void 
GroupSet_destroy(
  GroupSet_ptr  self 
)

Defined in GroupSet.c

ListIter_ptr 
GroupSet_get_first_iter(
  const GroupSet_ptr  self 
)
To be used for iteration

Defined in GroupSet.c

NodeList_ptr 
GroupSet_get_group(
  const GroupSet_ptr  self, 
  const ListIter_ptr  iter 
)
Returned NodeList is still owned by self, user have not to destroy it

Defined in GroupSet.c

static void 
enc_cache_deinit(
  EncCache_ptr  self 
)
Private deinitializer, called by the destructor

See Also bdd_enc_cache_init
Defined in EncCache.c

static void 
enc_cache_init(
  EncCache_ptr  self 
)
Private initializer, called by the constructor

See Also bdd_enc_cache_deinit
Defined in EncCache.c

static void 
enc_cache_new_symbol(
  EncCache_ptr  self, 
  node_ptr  name, 
  node_ptr  value 
)
This takes into account also the caching of last accessed value

Defined in EncCache.c

static boolean 
encoding_assign_define_body_to_symbols_lists(
  Encoding_ptr  self, 
  node_ptr  name 
)
It might be the case that given define contains symbols that are not defined yet. This can happen during the flattening phase, that declares defines and variables. If given define contains references that have not been declared yet, than 1 is returned, otherwise 0 is returned.

Defined in Encoding.c

static void 
encoding_declare_input_var(
  Encoding_ptr  self, 
  node_ptr  var, 
  node_ptr  range 
)
It does what Encoding_declare_input_var does, but id does not add given symbol to the set of model input variables

Defined in Encoding.c

static void 
encoding_deinit(
  Encoding_ptr  self 
)

Defined in Encoding.c

static node_ptr 
encoding_encode_scalar_var(
  Encoding_ptr  self, 
  node_ptr  name, 
  int  suffix, 
  node_ptr  range, 
  boolean  is_input, 
  NodeList_ptr  group 
)
All bits will be grouped together

Defined in Encoding.c

static void 
encoding_init(
  Encoding_ptr  self 
)

Defined in Encoding.c

static void 
encoding_refill_symbols_lists(
  Encoding_ptr  self 
)
This methods does the work only if required by internal state

Defined in Encoding.c

static void 
encoding_set_var_encoding(
  Encoding_ptr  self, 
  node_ptr  var, 
  node_ptr  encoding 
)
Sets the symbolic encoding for a given variable that has already been added

Defined in Encoding.c

static void 
encoding_traverse_encoding(
  const Encoding_ptr  self, 
  node_ptr  tree, 
  NodeList_ptr  list 
)
Fills the given list with the BIT vars which appears into the given var encoding

Defined in Encoding.c

static void 
group_set_deinit(
  GroupSet_ptr  self 
)

Defined in GroupSet.c

static void 
group_set_init(
  GroupSet_ptr  self 
)

Defined in GroupSet.c

Last updated on 2004/06/23 13h:45