Data Structures
gfsmxlLabelIndex.h File Reference

Label-indexed automata. More...

#include <gfsm.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  gfsmxlArcBlockIndex
 Source-state index on gfsmxlArcPtrArray . More...
struct  gfsmxlStateLabelPair
 Type for a (state+label) key. More...

Functions

gfsmxlArcBlockIndex
gfsmxlArcBlockIndexgfsmxl_arc_block_index_new_lower (gfsmIndexedAutomaton *xfsm)
static void gfsmxl_arc_block_index_free (gfsmxlArcBlockIndex *abx)
static void gfsmxl_arcrange_open_block_index (gfsmArcRange *range, gfsmxlArcBlockIndex *abx, gfsmStateId qid, gfsmLabelId lo)
static void gfsmxl_arcrange_open_block_index_bsearch (gfsmArcRange *range, gfsmxlArcBlockIndex *abx, gfsmStateId qid, gfsmLabelId lo)

gfsmxlArcPtrArray

typedef GPtrArray gfsmxlArcPtrArray
 Array of first arcs for (state+label) pairs .
gfsmxlArcPtrArraygfsmxl_arc_ptr_array_new_lower (gfsmIndexedAutomaton *xfsm)
static void gfsmxl_arc_ptr_array_free (gfsmxlArcPtrArray *apa)

gfsmxlArcBlockHash

typedef GHashTable gfsmxlArcBlockHash
 type for an arc-block hash table keys are a hashtable-local (gfsmxlStateLabelPair*)s values are (gfsmArc*)s into a gfsmArcTable for first outgoing arc from key->qid on (lower) label key->lab
guint gfsmxl_state_label_pair_hash (const gfsmxlStateLabelPair *slp)
gboolean gfsmxl_state_label_pair_equal (const gfsmxlStateLabelPair *slp1, const gfsmxlStateLabelPair *slp2)
static gfsmxlStateLabelPairgfsmxl_state_label_pair_new (gfsmStateId qid, gfsmLabelId lab)
static void gfsmxl_state_label_pair_free (gfsmxlStateLabelPair *slp)
gfsmxlArcBlockHashgfsmxl_arc_block_hash_new_lower (gfsmIndexedAutomaton *xfsm)
static void gfsmxl_arc_block_hash_free (gfsmxlArcBlockHash *abh)

Detailed Description

Typedef Documentation

typedef GPtrArray gfsmxlArcPtrArray
  • data is (gfsmArc*) to first outgoing arc per input label.
  • len is number of distinct (source+label) pairs in the indexed automaton.
typedef GHashTable gfsmxlArcBlockHash

Function Documentation

gfsmxlArcPtrArray* gfsmxl_arc_ptr_array_new_lower ( gfsmIndexedAutomaton xfsm)

Create and populate a gfsmxlArcPtrArray from a ::gfsmxlIndexedAutomaton.

  • xfsm is assumed to be sorted on source states and lower labels.
static void gfsmxl_arc_ptr_array_free ( gfsmxlArcPtrArray apa)
inlinestatic
gfsmxlArcBlockIndex* gfsmxl_arc_block_index_new_lower ( gfsmIndexedAutomaton xfsm)

Create and populate a gfsmxlArcBlockIndex from a ::gfsmxlIndexedAutomaton.

  • xfsm is assumed to be sorted on source states and lower labels.
static void gfsmxl_arc_block_index_free ( gfsmxlArcBlockIndex abx)
inlinestatic
static void gfsmxl_arcrange_open_block_index ( gfsmArcRange range,
gfsmxlArcBlockIndex abx,
gfsmStateId  qid,
gfsmLabelId  lo 
)
inlinestatic
static void gfsmxl_arcrange_open_block_index_bsearch ( gfsmArcRange range,
gfsmxlArcBlockIndex abx,
gfsmStateId  qid,
gfsmLabelId  lo 
)
inlinestatic

Open a gfsmArcRange on a gfsmxlArcBlockIndex, using binary search

guint gfsmxl_state_label_pair_hash ( const gfsmxlStateLabelPair slp)

Hash function for gfsmxlStateLabelPair, castable to ::GHashFunc

gboolean gfsmxl_state_label_pair_equal ( const gfsmxlStateLabelPair slp1,
const gfsmxlStateLabelPair slp2 
)

Equality predicate for gfsmxlStateLabelPair, castable to ::GEqualFunc

static gfsmxlStateLabelPair* gfsmxl_state_label_pair_new ( gfsmStateId  qid,
gfsmLabelId  lab 
)
inlinestatic

Constructor for gfsmxlStateLabelPair

static void gfsmxl_state_label_pair_free ( gfsmxlStateLabelPair slp)
inlinestatic

Destructor for gfsmxlStateLabelPair

gfsmxlArcBlockHash* gfsmxl_arc_block_hash_new_lower ( gfsmIndexedAutomaton xfsm)

Create and populate a new gfsmxlArcBlockHash from a ::gfsmxlIndexedAutomaton.

  • xfsm is assumed to be sorted on source states and lower labels
static void gfsmxl_arc_block_hash_free ( gfsmxlArcBlockHash abh)
inlinestatic