1#ifndef __MEI_HASH_TABLE_H__
2#define __MEI_HASH_TABLE_H__
75typedef double (*
func2_t) (double, double);
81typedef double (*
func3_t) (double, double, double);
87typedef double (*
func4_t) (double, double, double, double);
193 const char *
const key,
mei_flag_t
List of the different type of symbol.
Definition mei_hash_table.h:49
@ ID
Definition mei_hash_table.h:52
@ FUNC2
Definition mei_hash_table.h:54
@ FUNC3
Definition mei_hash_table.h:55
@ OPR
Definition mei_hash_table.h:57
@ FUNC1
Definition mei_hash_table.h:53
@ CONSTANT
Definition mei_hash_table.h:51
@ FUNC4
Definition mei_hash_table.h:56
double(* func4_t)(double, double, double, double)
Type definition for pointer to a function of for arguments.
Definition mei_hash_table.h:87
void mei_hash_table_init(hash_table_t *htable)
Initialize the hash table with default symbols.
Definition mei_hash_table.c:317
double(* func3_t)(double, double, double)
Type definition for pointer to a function of three arguments.
Definition mei_hash_table.h:81
void mei_hash_table_dump(hash_table_t *htable)
Dump of table contents for debuging purpose.
Definition mei_hash_table.c:408
void mei_hash_table_item_print(struct item *item)
Dump function of a single record.
Definition mei_hash_table.c:385
void mei_hash_table_create(hash_table_t *const htable, const int modulo)
Initialize the hash table to the size (modulo) asked for. Allocates space for the correct number of p...
Definition mei_hash_table.c:130
double(* func2_t)(double, double)
Type definition for pointer to a function of two arguments.
Definition mei_hash_table.h:75
double(* func1_t)(double)
Type definition for a pointer to a function of one argument.
Definition mei_hash_table.h:69
void mei_hash_table_free(hash_table_t *htable)
Destroy a hash table.
Definition mei_hash_table.c:283
struct item * mei_hash_table_find(hash_table_t *htable, const char *key)
Find a record in a hash table.
Definition mei_hash_table.c:160
struct item * mei_hash_table_lookup(hash_table_t *htable, const char *key)
Find a record in a hash table.
Definition mei_hash_table.c:251
void mei_hash_table_insert(hash_table_t *const htable, const char *const key, const mei_flag_t type, const double value, const func1_t f1, const func2_t f2)
Insert a record in a hash table.
Definition mei_hash_table.c:192
Structure defining a hash table.
Definition mei_hash_table.h:114
struct item ** table
Definition mei_hash_table.h:119
int length
Definition mei_hash_table.h:118
int record
Definition mei_hash_table.h:117
int n_inter
Definition mei_hash_table.h:115
Type definition for each record of the hash table.
Definition mei_hash_table.h:103
char * key
Definition mei_hash_table.h:104
data_t * data
Definition mei_hash_table.h:106
mei_flag_t type
Definition mei_hash_table.h:105
struct item * next
Definition mei_hash_table.h:107
Type definition for data of each element contained in the hash table.
Definition mei_hash_table.h:93
func1_t func
Definition mei_hash_table.h:95
func2_t f2
Definition mei_hash_table.h:96
double value
Definition mei_hash_table.h:94