SPRAAK
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Typedefs | Functions | Variables
hash.c File Reference

Hash tables (and prime numbers). More...

Typedefs

typedef struct SprHtblStr SprHtblStr
 

Functions

unsigned int spr_sqrt_u32 (unsigned int nr)
 
int spr_prime_check (unsigned int nr)
 
unsigned int spr_prime_find (unsigned int nr)
 
unsigned int spr_hash_str (const char *str)
 
unsigned int spr_hash_str2 (const char *str, size_t str_len)
 
unsigned int spr_hash_str_len (const char *str, size_t *len)
 
void spr_htbl_str_init (SprHtblStr *restrict htbl, unsigned int flags, int keystr_offs)
 
SprHtblStrspr_htbl_str_new (unsigned int flags, int keystr_offs)
 
SprHtblStrspr_htbl_str_free (SprHtblStr *restrict htbl)
 
unsigned int spr_htbl_str_Nel (const SprHtblStr *restrict htbl)
 
const char * spr_htbl_str_iter (const SprHtblStr *restrict htbl, int *restrict ndx)
 
const char * spr_htbl_str_ndx2str (const SprHtblStr *restrict htbl, int ndx)
 
int spr_htbl_str_find_ndx (const SprHtblStr *restrict htbl, const char *restrict str)
 
int spr_htbl_str_find_ndx2 (const SprHtblStr *restrict htbl, const char *restrict str, size_t str_len)
 
const char * spr_htbl_str_find_key (const SprHtblStr *restrict htbl, const char *restrict str)
 
int spr_htbl_str_add (SprHtblStr *restrict htbl, const char *restrict str)
 
int spr_htbl_str_cadd (SprHtblStr *restrict htbl, const char *restrict str, int *restrict duplicate)
 
int spr_htbl_str_add_replace (SprHtblStr *restrict htbl, const char *restrict str)
 
int spr_htbl_str_rm_key (SprHtblStr *restrict htbl, const char *restrict str)
 
int spr_htbl_str_rm_ndx (SprHtblStr *restrict htbl, int ndx)
 
int spr_hash_strlin_search (const char *restrict const hlst[], int Nel, const char *restrict str)
 
int spr_hash_strlin_search_err (const char *restrict const hlst[], int Nel, const char *restrict str)
 
int spr_hash_strnlin_search (const char *restrict const hlst[], const char *restrict str, size_t str_len)
 
int spr_hash_strnlin_search_err (const char *restrict const hlst[], const char *restrict str, size_t str_len)
 
int spr_hash_strlin_searchn (const char *restrict const hlst[], int Nel, const char *restrict str)
 

Variables

const SprHtblStr spr_htbl_str_empty
 

Detailed Description

Hash tables (and prime numbers).

Several hash table implementations, and since hash tables need prime numbers also some elementary functions to check the primality of numbers.

Author
Kris Demuynck
Date
04/04/2008
Revision History:
17/04/1996 - KD
string hashing for fast dictionary lookup
13/01/1994 - KD
prime number detection for creating efficient (O1) hash tables
09/07/1991 - DVC
simple linair search hashing (On), i.e. retrieval of the index of a string in a lookup table