1 #ifndef __MEI_HASH_TABLE_H__
2 #define __MEI_HASH_TABLE_H__
76 typedef double (*
func2_t) (double, double);
82 typedef double (*
func3_t) (double, double, double);
88 typedef double (*
func4_t) (double, double, double, double);
204 const char *
const key,
int record
Definition: mei_hash_table.h:125
double(* interp1d_t)(char *, int, int, double)
Type definition for pointer to a function of for 1D interpolation.
Definition: mei_hash_table.h:94
struct item ** table
Definition: mei_hash_table.h:127
Definition: mei_hash_table.h:55
Definition: mei_hash_table.h:54
Type definition for each record of the hash table.
Definition: mei_hash_table.h:111
void mei_hash_table_item_print(struct item *item)
Dump function of a single record.
Definition: mei_hash_table.c:425
Definition: mei_hash_table.h:57
int length
Definition: mei_hash_table.h:126
int n_inter
Definition: mei_hash_table.h:123
Structure defining a hash table.
Definition: mei_hash_table.h:122
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 func, const func2_t f2, const func3_t f3, const func4_t f4, const interp1d_t i1d)
Insert a record in a hash table.
Definition: mei_hash_table.c:197
void mei_hash_table_dump(hash_table_t *htable)
Dump of table contents for debuging purpose.
Definition: mei_hash_table.c:449
char * key
Definition: mei_hash_table.h:112
Definition: mei_hash_table.h:56
mei_flag_t type
Definition: mei_hash_table.h:113
double(* func4_t)(double, double, double, double)
Type definition for pointer to a function of for arguments.
Definition: mei_hash_table.h:88
double precision, dimension(ncharm), save f2
Definition: cpincl.f90:226
data_t * data
Definition: mei_hash_table.h:114
Definition: mei_hash_table.h:58
mei_flag_t
List of the different type of symbol.
Definition: mei_hash_table.h:49
func1_t func
Definition: mei_hash_table.h:102
double(* func1_t)(double)
Type definition for a pointer to a function of one argument.
Definition: mei_hash_table.h:70
double(* func2_t)(double, double)
Type definition for pointer to a function of two arguments.
Definition: mei_hash_table.h:76
interp1d_t i1d
Definition: mei_hash_table.h:104
void mei_hash_table_free(hash_table_t *htable)
Destroy a hash table.
Definition: mei_hash_table.c:294
double value
Definition: mei_hash_table.h:101
double(* func3_t)(double, double, double)
Type definition for pointer to a function of three arguments.
Definition: mei_hash_table.h:82
struct item * next
Definition: mei_hash_table.h:115
Definition: mei_hash_table.h:52
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:132
func2_t f2
Definition: mei_hash_table.h:103
void mei_hash_table_init(hash_table_t *htable)
Initialize the hash table with default symbols.
Definition: mei_hash_table.c:328
Definition: mei_hash_table.h:53
Type definition for data of each element contained in the hash table.
Definition: mei_hash_table.h:100
Definition: mei_hash_table.h:51
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:262
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:162