Legofit
infers population history from nucleotide site patterns.
|
Associate character strings with integers. More...
#include "strint.h"
#include "misc.h"
#include <assert.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <errno.h>
Data Structures | |
struct | SILink |
A single element of a linked list. More... | |
struct | StrInt |
Hash table. More... | |
Macros | |
#define | STRINT_DIM 64u |
STRINT_DIM must be a power of 2. | |
#define | MAXKEY 200 |
Functions | |
SILink * | SILink_new (const char *key, int value, SILink *next) |
SILink constructor. | |
void | SILink_free (SILink *self) |
Free linked list of SILink objects. | |
SILink * | SILink_insert (SILink *self, const char *key, int value) |
Insert a new key-value pair. Set errno=EDOM if key already exists. | |
int | SILink_get (SILink *self, const char *key) |
Get index corresponding to key. More... | |
int | SILink_exists (SILink *self, const char *key) |
Return 1 if key is present in list, 0 otherwise. | |
void | SILink_print (const SILink *self, FILE *fp) |
Print linked list of SILink objects. | |
unsigned | SILink_size (SILink *self) |
Return number of links in list. | |
StrInt * | StrInt_new (void) |
StrInt constructor. | |
void | StrInt_free (StrInt *self) |
StrInt destructor. | |
void | StrInt_insert (StrInt *self, const char *key, int value) |
Insert a key-value pair into the hash table. More... | |
int | StrInt_get (StrInt *self, const char *key) |
Return value corresponding to key. More... | |
int | StrInt_exists (StrInt *self, const char *key) |
Return 1 if key exists in hash map; 0 otherwise. | |
void | StrInt_print (const StrInt *self, FILE *fp) |
Print a StrInt object. | |
unsigned | StrInt_size (const StrInt *self) |
Number of items stored in hash table. | |
Associate character strings with integers.
int SILink_get | ( | SILink * | self, |
const char * | key | ||
) |
Get index corresponding to key.
If key is not in table, return -1 and set errno = EDOM.
References SILink_get().
Referenced by SILink_get(), and StrInt_get().
int StrInt_get | ( | StrInt * | self, |
const char * | key | ||
) |
Return value corresponding to key.
If key is not in table, return -1 and set errno = EDOM.
References SILink_get(), strhash(), and STRINT_DIM.
void StrInt_insert | ( | StrInt * | self, |
const char * | key, | ||
int | value | ||
) |
Insert a key-value pair into the hash table.
Set errno=EDOM if pair already exists.
References SILink_insert(), strhash(), and STRINT_DIM.