aboutsummaryrefslogtreecommitdiff
path: root/src/hash/xxh.h
blob: 07e75793f4cb0440c6f2f1e178369899a7ec877e (plain)
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
#include "../lua.h"
#include <stdint.h>

/**
 * calculates a xxhash32 of (len) bytes
 *
 * @param {uint8_t*} input bytes
 * @param {uint32_t} hash seed
 * @param {size_t} input length
 * @return {uint32_t} 32 bit hash
*/
uint32_t i_xxhash32(uint8_t*, uint32_t, size_t);

/**
 * calculates a xxhash64 of (len) bytes
 *
 * @param {uint8_t*} input bytes
 * @param {uint64_t} hash seed
 * @param {size_t} input length
 * @return {uint64_t} 64 bit hash
*/
uint64_t i_xxhash64(uint8_t*, uint64_t, size_t);

int l_xxh32(lua_State*);
int l_xxh64(lua_State*);