cbp2make
Makefile generation tool for Code::Blocks IDE
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
stringhash.h
Go to the documentation of this file.
1 /*
2  Collection of non-cryptographic string hashing functions.
3  All code is Public Domain.
4 */
5 
6 #ifndef STRINGHASH_H
7 #define STRINGHASH_H
8 
9 #include <stddef.h>
10 #include <stdint.h>
11 
12 typedef uint8_t data_t;
13 typedef uint32_t hash_t;
14 
15 hash_t add_hash(const data_t *data, const size_t size);
16 hash_t xor_hash(const data_t *data, const size_t size);
17 hash_t rot_hash(const data_t *data, const size_t size);
18 hash_t djb_hash(const data_t *data, const size_t size);
19 hash_t djb2_hash(const data_t *data, const size_t size);
20 hash_t sax_hash(const data_t *data, const size_t size);
21 hash_t fnv_hash(const data_t *data, const size_t size);
22 hash_t oat_hash(const data_t *data, const size_t size);
23 hash_t jsw_hash(const data_t *data, const size_t size, const hash_t *magic);
24 hash_t elf_hash(const data_t *data, const size_t size);
25 hash_t jen_hash(const data_t *data, const size_t size, const hash_t magic);
26 hash_t sdbm_hash(const data_t *data, const size_t size);
27 
28 #endif