File: stringhash.h

package info (click to toggle)
cbp2make 147%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,072 kB
  • sloc: cpp: 13,020; makefile: 12; sh: 3
file content (28 lines) | stat: -rw-r--r-- 953 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
  Collection of non-cryptographic string hashing functions.
  All code is Public Domain.
*/

#ifndef STRINGHASH_H
#define STRINGHASH_H

#include <stddef.h>
#include <stdint.h>

typedef uint8_t data_t;
typedef uint32_t hash_t;

hash_t add_hash(const data_t *data, const size_t size);
hash_t xor_hash(const data_t *data, const size_t size);
hash_t rot_hash(const data_t *data, const size_t size);
hash_t djb_hash(const data_t *data, const size_t size);
hash_t djb2_hash(const data_t *data, const size_t size);
hash_t sax_hash(const data_t *data, const size_t size);
hash_t fnv_hash(const data_t *data, const size_t size);
hash_t oat_hash(const data_t *data, const size_t size);
hash_t jsw_hash(const data_t *data, const size_t size, const hash_t *magic);
hash_t elf_hash(const data_t *data, const size_t size);
hash_t jen_hash(const data_t *data, const size_t size, const hash_t magic);
hash_t sdbm_hash(const data_t *data, const size_t size);

#endif