Label-indexed automata. More...
#include <gfsm.h>
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 | |
gfsmxlArcBlockIndex * | gfsmxl_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 . | |
gfsmxlArcPtrArray * | gfsmxl_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 gfsmxlStateLabelPair * | gfsmxl_state_label_pair_new (gfsmStateId qid, gfsmLabelId lab) |
static void | gfsmxl_state_label_pair_free (gfsmxlStateLabelPair *slp) |
gfsmxlArcBlockHash * | gfsmxl_arc_block_hash_new_lower (gfsmIndexedAutomaton *xfsm) |
static void | gfsmxl_arc_block_hash_free (gfsmxlArcBlockHash *abh) |
typedef GPtrArray gfsmxlArcPtrArray |
typedef GHashTable gfsmxlArcBlockHash |
gfsmxlArcPtrArray* gfsmxl_arc_ptr_array_new_lower | ( | gfsmIndexedAutomaton * | xfsm | ) |
Create and populate a gfsmxlArcPtrArray from a ::gfsmxlIndexedAutomaton.
|
inlinestatic |
Free a gfsmxlArcPtrArray
gfsmxlArcBlockIndex* gfsmxl_arc_block_index_new_lower | ( | gfsmIndexedAutomaton * | xfsm | ) |
Create and populate a gfsmxlArcBlockIndex from a ::gfsmxlIndexedAutomaton.
|
inlinestatic |
Free a gfsmxlArcBlockIndex
|
inlinestatic |
Open a gfsmArcRange on a gfsmxlArcBlockIndex
|
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
|
inlinestatic |
Constructor for gfsmxlStateLabelPair
|
inlinestatic |
Destructor for gfsmxlStateLabelPair
gfsmxlArcBlockHash* gfsmxl_arc_block_hash_new_lower | ( | gfsmIndexedAutomaton * | xfsm | ) |
Create and populate a new gfsmxlArcBlockHash from a ::gfsmxlIndexedAutomaton.
|
inlinestatic |
Free a gfsmxlArcBlockHash