ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
stmm.h File Reference
Include dependency graph for stmm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  stmm_table_entry
 
struct  stmm_table
 
struct  stmm_generator
 

Macros

#define EXTERN   extern
 
#define ARGS(protos)
 
#define stmm_is_member(table, key)
 
#define stmm_count(table)
 
#define STMM_DEFAULT_MAX_DENSITY   5
 
#define STMM_DEFAULT_INIT_TABLE_SIZE   11
 
#define STMM_DEFAULT_GROW_FACTOR   2.0
 
#define STMM_DEFAULT_REORDER_FLAG   0
 
#define stmm_foreach_item2(tb, gen, key, value)
 
#define stmm_foreach_item(table, gen, key, value)
 
#define stmm_foreach_item_int(table, gen, key, value)
 
#define STMM_OUT_OF_MEM   -10000
 

Typedefs

typedef int(* stmm_compare_func_type) (const char *, const char *)
 
typedef int(* stmm_hash_func_type) (const char *, int)
 
typedef struct stmm_table_entry stmm_table_entry
 
typedef struct stmm_table stmm_table
 
typedef struct stmm_generator stmm_generator
 
typedef enum stmm_retval(* STMM_PFSR) (char *, char *, char *)
 

Enumerations

enum  stmm_retval { STMM_CONTINUE , STMM_STOP , STMM_DELETE }
 

Functions

EXTERN stmm_table *stmm_init_table_with_params ARGS ((stmm_compare_func_type compare, stmm_hash_func_type hash, int size, int density, double grow_factor, int reorder_flag))
 
EXTERN void stmm_free_table ARGS ((stmm_table *))
 
EXTERN int stmm_lookup ARGS ((stmm_table *, char *, char **))
 
EXTERN int stmm_lookup_int ARGS ((stmm_table *, char *, int *))
 
EXTERN int stmm_insert ARGS ((stmm_table *, char *, char *))
 
EXTERN int stmm_find_or_add ARGS ((stmm_table *, char *, char ***))
 
EXTERN int stmm_delete ARGS ((stmm_table *, char **, char **))
 
EXTERN int stmm_delete_int ARGS ((stmm_table *, long *, char **))
 
EXTERN int stmm_foreach ARGS ((stmm_table *, STMM_PFSR, char *))
 
EXTERN int stmm_strhash ARGS ((const char *, int))
 
EXTERN int stmm_numcmp ARGS ((const char *, const char *))
 
EXTERN int stmm_gen ARGS ((stmm_generator *, char **, char **))
 
EXTERN int stmm_gen_int ARGS ((stmm_generator *, char **, long *))
 
EXTERN void stmm_free_gen ARGS ((stmm_generator *))
 

Macro Definition Documentation

◆ ARGS

#define ARGS ( protos)
Value:
protos

Definition at line 36 of file stmm.h.

◆ EXTERN

#define EXTERN   extern

Definition at line 31 of file stmm.h.

◆ stmm_count

#define stmm_count ( table)
Value:
((table)->num_entries)

Definition at line 76 of file stmm.h.

◆ STMM_DEFAULT_GROW_FACTOR

#define STMM_DEFAULT_GROW_FACTOR   2.0

Definition at line 113 of file stmm.h.

◆ STMM_DEFAULT_INIT_TABLE_SIZE

#define STMM_DEFAULT_INIT_TABLE_SIZE   11

Definition at line 112 of file stmm.h.

◆ STMM_DEFAULT_MAX_DENSITY

#define STMM_DEFAULT_MAX_DENSITY   5

Definition at line 111 of file stmm.h.

◆ STMM_DEFAULT_REORDER_FLAG

#define STMM_DEFAULT_REORDER_FLAG   0

Definition at line 114 of file stmm.h.

◆ stmm_foreach_item

#define stmm_foreach_item ( table,
gen,
key,
value )
Value:
for(gen=stmm_init_gen(table); stmm_gen(gen,key,value) || (stmm_free_gen(gen),0);)
ABC_NAMESPACE_IMPL_START typedef signed char value
enum keys key
Definition main.h:25
void stmm_free_gen(stmm_generator *gen)
Definition stmm.c:622
stmm_generator * stmm_init_gen(stmm_table *table)
Definition stmm.c:551
int stmm_gen(stmm_generator *gen, char **key_p, char **value_p)
Definition stmm.c:567

Definition at line 121 of file stmm.h.

121#define stmm_foreach_item(table, gen, key, value) \
122 for(gen=stmm_init_gen(table); stmm_gen(gen,key,value) || (stmm_free_gen(gen),0);)

◆ stmm_foreach_item2

#define stmm_foreach_item2 ( tb,
gen,
key,
value )
Value:
for(gen.table=(tb), gen.entry=NULL, gen.index=0; \
stmm_gen(&(gen),key,value);)

Definition at line 117 of file stmm.h.

117#define stmm_foreach_item2(tb, /* stmm_generator */gen, key, value) \
118 for(gen.table=(tb), gen.entry=NULL, gen.index=0; \
119 stmm_gen(&(gen),key,value);)

◆ stmm_foreach_item_int

#define stmm_foreach_item_int ( table,
gen,
key,
value )
Value:
for(gen=stmm_init_gen(table); stmm_gen_int(gen,key,value) || (stmm_free_gen(gen),0);)
int stmm_gen_int(stmm_generator *gen, char **key_p, long *value_p)
Definition stmm.c:594

Definition at line 124 of file stmm.h.

124#define stmm_foreach_item_int(table, gen, key, value) \
125 for(gen=stmm_init_gen(table); stmm_gen_int(gen,key,value) || (stmm_free_gen(gen),0);)

◆ stmm_is_member

#define stmm_is_member ( table,
key )
Value:
stmm_lookup(table,key,(char **) 0)
int stmm_lookup(stmm_table *table, char *key, char **value)
Definition stmm.c:134

Definition at line 75 of file stmm.h.

◆ STMM_OUT_OF_MEM

#define STMM_OUT_OF_MEM   -10000

Definition at line 127 of file stmm.h.

Typedef Documentation

◆ stmm_compare_func_type

typedef int(* stmm_compare_func_type) (const char *, const char *)

Definition at line 39 of file stmm.h.

◆ stmm_generator

typedef struct stmm_generator stmm_generator

Definition at line 44 of file stmm.h.

◆ stmm_hash_func_type

typedef int(* stmm_hash_func_type) (const char *, int)

Definition at line 40 of file stmm.h.

◆ STMM_PFSR

typedef enum stmm_retval(* STMM_PFSR) (char *, char *, char *)

Definition at line 44 of file stmm.h.

◆ stmm_table

typedef struct stmm_table stmm_table

Definition at line 43 of file stmm.h.

◆ stmm_table_entry

typedef struct stmm_table_entry stmm_table_entry

Definition at line 42 of file stmm.h.

Enumeration Type Documentation

◆ stmm_retval

Enumerator
STMM_CONTINUE 
STMM_STOP 
STMM_DELETE 

Definition at line 78 of file stmm.h.

@ STMM_CONTINUE
Definition stmm.h:79
@ STMM_DELETE
Definition stmm.h:79
@ STMM_STOP
Definition stmm.h:79

Function Documentation

◆ ARGS() [1/14]

EXTERN int stmm_ptrcmp ARGS ( (const char *, const char *) )
Here is the call graph for this function:

◆ ARGS() [2/14]

EXTERN int stmm_ptrhash ARGS ( (const char *, int) )
Here is the call graph for this function:

◆ ARGS() [3/14]

EXTERN stmm_table *stmm_init_table ARGS ( (stmm_compare_func_type compare, stmm_hash_func_type hash, int size, int density, double grow_factor, int reorder_flag) )
Here is the call graph for this function:

◆ ARGS() [4/14]

EXTERN void stmm_free_gen ARGS ( (stmm_generator *) )
Here is the call graph for this function:

◆ ARGS() [5/14]

EXTERN int stmm_gen ARGS ( (stmm_generator *, char **, char **) )
Here is the call graph for this function:

◆ ARGS() [6/14]

EXTERN int stmm_gen_int ARGS ( (stmm_generator *, char **, long *) )
Here is the call graph for this function:

◆ ARGS() [7/14]

EXTERN void stmm_clean ARGS ( (stmm_table *) )
Here is the call graph for this function:

◆ ARGS() [8/14]

EXTERN int stmm_delete ARGS ( (stmm_table *, char **, char **) )
Here is the call graph for this function:

◆ ARGS() [9/14]

EXTERN int stmm_add_direct ARGS ( (stmm_table *, char *, char *) )
Here is the call graph for this function:

◆ ARGS() [10/14]

EXTERN int stmm_lookup ARGS ( (stmm_table *, char *, char **) )
Here is the call graph for this function:

◆ ARGS() [11/14]

EXTERN int stmm_find ARGS ( (stmm_table *, char *, char ***) )
Here is the call graph for this function:

◆ ARGS() [12/14]

EXTERN int stmm_lookup_int ARGS ( (stmm_table *, char *, int *) )
Here is the call graph for this function:

◆ ARGS() [13/14]

EXTERN int stmm_delete_int ARGS ( (stmm_table *, long *, char **) )
Here is the call graph for this function:

◆ ARGS() [14/14]

EXTERN int stmm_foreach ARGS ( (stmm_table *, STMM_PFSR, char *) )
Here is the call graph for this function: