NuSMV/code/nusmv/core/dag/dagInt.h File Reference

#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 Documentation

#define DAGMAX_WORDS   ((int) 10)

Directed acyclic graphs with sharing.

Author:
Armando Tacchella and Tommi Junttila Internal functions and data structures of the dag package.
Todo:
Missing synopsis
Todo:
Missing description
#define DAGWORD_SIZE   ((int) (NUSMV_SIZEOF_VOID_P * 4))
Todo:
Missing synopsis
Todo:
Missing description

Function Documentation

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:

  • connects the vertex to the sons by increasing the sons' marks
  • removes sons from the free list if their mark is increased to one for the first time;
  • clears the vertex mark and stores the vertex in the free list;
  • clears other internal fields.

none

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

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