void 
BddEncCache_clean_evaluation_about(
  BddEncCache_ptr  self, 
  NodeList_ptr  symbs 
)
This is called by the BddEnc class when a layer is begin removed and the cache has to be cleaned up

Defined in BddEncCache.c

BddEncCache_ptr 
BddEncCache_create(
  SymbTable_ptr  symb_table, 
  DdManager* dd 
)
Class constructor

Defined in BddEncCache.c

void 
BddEncCache_destroy(
  BddEncCache_ptr  self 
)
Class destructor

Defined in BddEncCache.c

AddArray_ptr 
BddEncCache_get_evaluation(
  BddEncCache_ptr  self, 
  node_ptr  name 
)
If not evaluated, given symbol returns NULL. If the evaluation is in the process, BDD_ENC_EVALUATING is returned. Otherwise an array of ADD is returned. The returned array must be destroyed by the invoker!

Defined in BddEncCache.c

boolean 
BddEncCache_is_boolean_var_encoded(
  const BddEncCache_ptr  self, 
  node_ptr  var_name 
)
Returns true whether the given boolean variable has been encoded

Defined in BddEncCache.c

boolean 
BddEncCache_is_constant_encoded(
  const BddEncCache_ptr  self, 
  node_ptr  constant 
)
Returns true whether the given constant has been encoded

Defined in BddEncCache.c

add_ptr 
BddEncCache_lookup_boolean_var(
  const BddEncCache_ptr  self, 
  node_ptr  var_name 
)
Returned add is referenced. NULL is returned if the variable is not encoded.

Defined in BddEncCache.c

add_ptr 
BddEncCache_lookup_constant(
  const BddEncCache_ptr  self, 
  node_ptr  constant 
)
Returned ADD is referenced, NULL is returned if the given constant is not currently encoded

Defined in BddEncCache.c

void 
BddEncCache_new_boolean_var(
  BddEncCache_ptr  self, 
  node_ptr  var_name, 
  add_ptr  var_add 
)
Call this to insert the encoding for a given boolean variable

Defined in BddEncCache.c

void 
BddEncCache_new_constant(
  BddEncCache_ptr  self, 
  node_ptr  constant, 
  add_ptr  constant_add 
)
This methods adds the given constant only if it does not exist already, otherwise it only increments a reference counter, to be used when the constant is removed later.

Defined in BddEncCache.c

void 
BddEncCache_remove_boolean_var(
  BddEncCache_ptr  self, 
  node_ptr  var_name 
)
Removes the given variable from the internal hash

Defined in BddEncCache.c

void 
BddEncCache_remove_constant(
  BddEncCache_ptr  self, 
  node_ptr  constant 
)
Removes the given constant from the internal hash

Defined in BddEncCache.c

void 
BddEncCache_set_evaluation(
  BddEncCache_ptr  self, 
  node_ptr  name, 
  AddArray_ptr  add_array 
)
The provided array of ADD will belong to "self" and will be freed during destuctions of the class or setting a new value for the same node_ptr.

Defined in BddEncCache.c

static void 
bdd_enc_cache_deinit(
  BddEncCache_ptr  self 
)
Private deinitializer, called by the destructor

See Also bdd_enc_cache_init
Defined in BddEncCache.c

static void 
bdd_enc_cache_init(
  BddEncCache_ptr  self, 
  SymbTable_ptr  symb_table, 
  DdManager* dd 
)
Private initializer, called by the constructor

See Also bdd_enc_cache_deinit
Defined in BddEncCache.c

static assoc_retval 
hash_free_add_array(
  char* key, 
  char* data, 
  char* arg 
)
Called when pushing the status, and during deinitialization

Defined in BddEncCache.c

static assoc_retval 
hash_free_add_counted(
  char* key, 
  char* data, 
  char* arg 
)
Called when pushing the status, and during deinitialization. The kind of nodes that must be removed here is CONS(integer, add). Of course it is the add that must be freed.

Defined in BddEncCache.c

static assoc_retval 
hash_free_add(
  char* key, 
  char* data, 
  char* arg 
)
Called when pushing the status, and during deinitialization

Defined in BddEncCache.c

Last updated on 2009/03/04 12h:51