mirror of
https://github.com/Jous99/F4MP.git
synced 2026-01-13 00:40:53 +01:00
46 lines
1.5 KiB
C
46 lines
1.5 KiB
C
|
|
// file: header/hashing.h
|
||
|
|
|
||
|
|
/** @file hashing.c
|
||
|
|
@brief Hashing and Checksum Functions
|
||
|
|
@defgroup hashing Hashing and Checksum Functions
|
||
|
|
|
||
|
|
Several hashing methods used by ZPL internally but possibly useful outside of it. Contains: adler32, crc32/64, fnv32/64/a and murmur32/64
|
||
|
|
|
||
|
|
@{
|
||
|
|
*/
|
||
|
|
|
||
|
|
#ifdef ZPL_EDITOR
|
||
|
|
#include <zpl.h>
|
||
|
|
#endif
|
||
|
|
|
||
|
|
ZPL_BEGIN_C_DECLS
|
||
|
|
|
||
|
|
ZPL_DEF zpl_u32 zpl_adler32(void const *data, zpl_isize len);
|
||
|
|
|
||
|
|
ZPL_DEF zpl_u32 zpl_crc32(void const *data, zpl_isize len);
|
||
|
|
ZPL_DEF zpl_u64 zpl_crc64(void const *data, zpl_isize len);
|
||
|
|
|
||
|
|
ZPL_DEF zpl_u32 zpl_fnv32(void const *data, zpl_isize len);
|
||
|
|
ZPL_DEF zpl_u64 zpl_fnv64(void const *data, zpl_isize len);
|
||
|
|
ZPL_DEF zpl_u32 zpl_fnv32a(void const *data, zpl_isize len);
|
||
|
|
ZPL_DEF zpl_u64 zpl_fnv64a(void const *data, zpl_isize len);
|
||
|
|
|
||
|
|
ZPL_DEF zpl_u8 *zpl_base64_encode(zpl_allocator a, void const *data, zpl_isize len);
|
||
|
|
ZPL_DEF zpl_u8 *zpl_base64_decode(zpl_allocator a, void const *data, zpl_isize len);
|
||
|
|
|
||
|
|
ZPL_DEF zpl_u32 zpl_murmur32_seed(void const *data, zpl_isize len, zpl_u32 seed);
|
||
|
|
ZPL_DEF zpl_u64 zpl_murmur64_seed(void const *data, zpl_isize len, zpl_u64 seed);
|
||
|
|
|
||
|
|
//! Default seed of 0x9747b28c
|
||
|
|
ZPL_DEF_INLINE zpl_u32 zpl_murmur32(void const *data, zpl_isize len);
|
||
|
|
|
||
|
|
//! Default seed of 0x9747b28c
|
||
|
|
ZPL_DEF_INLINE zpl_u64 zpl_murmur64(void const *data, zpl_isize len);
|
||
|
|
|
||
|
|
//! @}
|
||
|
|
|
||
|
|
ZPL_IMPL_INLINE zpl_u32 zpl_murmur32(void const *data, zpl_isize len) { return zpl_murmur32_seed(data, len, 0x9747b28c); }
|
||
|
|
ZPL_IMPL_INLINE zpl_u64 zpl_murmur64(void const *data, zpl_isize len) { return zpl_murmur64_seed(data, len, 0x9747b28c); }
|
||
|
|
|
||
|
|
ZPL_END_C_DECLS
|