#include "nusmv/core/dag/dag.h"
Go to the source code of this file.
Data Structures | |
struct | Dag_Manager_t |
DAG manager. More... | |
Defines | |
#define | DAGMAX_WORDS ((int) 10) |
Directed acyclic graphs with sharing. | |
#define | DAGWORD_SIZE ((int) (NUSMV_SIZEOF_VOID_P * 4)) |
Functions | |
int | DagVertexComp (const char *v1, const char *v2) |
Compare two vertices. | |
int | DagVertexHash (char *v, int modulus) |
Calculate the hash key of a vertex. | |
void | DagVertexInit (Dag_Manager_t *dagManager, Dag_Vertex_t *v) |
Vertex initialization. |
#define DAGMAX_WORDS ((int) 10) |
#define DAGWORD_SIZE ((int) (NUSMV_SIZEOF_VOID_P * 4)) |
int DagVertexComp | ( | const char * | v1, | |
const char * | v2 | |||
) |
Compare two vertices.
Gets two vertex pointers v1, v2, (as char pointers) and compares the symbol, the generic data reference and the pointers to the sons. Returns -1 if v1 < v2, 0 if v1 = v2 and 1 if v1 > v2, in lexicographic order of fields.
None
int DagVertexHash | ( | char * | v, | |
int | modulus | |||
) |
Calculate the hash key of a vertex.
Calculate a preliminary index as follows: v -> symbol + 8 low order bits of (int) (v -> data) + 16 low order bits of each son up to MAXSON + 1 for each son whose edge is annotated Return the modulus of the index and the actual hash size.
None
void DagVertexInit | ( | Dag_Manager_t * | dagManager, | |
Dag_Vertex_t * | v | |||
) |
Vertex initialization.
AutomaticStart
Performs several tasks:
none