21#define VL_HASH_STRING vlHashString
22#define VL_HASH_BYTES vlHashString
23#define VL_HASH_UINT8 vlHash8
24#define VL_HASH_UINT16 vlHash16
25#define VL_HASH_UINT32 vlHash32
26#define VL_HASH_UINT64 vlHash64
27#define VL_HASH_INT8 vlHash8
28#define VL_HASH_INT16 vlHash16
29#define VL_HASH_INT32 vlHash32
30#define VL_HASH_INT64 vlHash64
31#define VL_HASH_FLOAT vlHashFloat
32#define VL_HASH_DOUBLE vlHashDouble
34#define vlHashChar vlHash8
35#define vlHashShort vlHash16
36#define vlHashInt vlHash32
37#define vlHashLong vlHash64
38#define vlHashUChar vlHash8
39#define vlHashUShort vlHash16
40#define vlHashUInt vlHash32
41#define vlHashULong vlHash64
108#define vlHashCombine(a, b) (vl_hash)(((a) ^ (b)) + 0b11101111100100101101101011001011 + ((a) << 6) + ((a) >> 2))
vl_hash(* vl_hash_function)(const void *data, vl_memsize_t dataSize)
Hash function typedef.
Definition vl_hash.h:19
vl_ularge_t vl_hash
Hash function return type.
Definition vl_hash.h:9
vl_hash vlHashString(const void *data, vl_memsize_t dataSize)
Hashes the specified string.
Definition vl_hash.c:4
vl_hash vlHash8(const void *data, vl_memsize_t)
Generates a hash code for the 8-bit sequence at the specified address.
Definition vl_hash.c:27
vl_hash vlHash32(const void *data, vl_memsize_t)
Generates a hash code for the 32-bit sequence at the specified address.
Definition vl_hash.c:35
vl_hash vlHash16(const void *data, vl_memsize_t)
Generates a hash code for the 16-bit sequence at the specified address. This is a direct bitcast of a...
Definition vl_hash.c:31
vl_hash vlHash64(const void *data, vl_memsize_t)
Generates a hash code for the 64-bit sequence at the specified address.
Definition vl_hash.c:39
VL_MEMORY_SIZE_T vl_memsize_t
Definition vl_memory.h:18
VL_ULARGE_T vl_ularge_t
Largest available unsigned integer type.
Definition vl_numtypes.h:74