SDL_murmur3_32

Calculate a 32-bit MurmurHash3 value for a block of data.

https://en.wikipedia.org/wiki/MurmurHash

A seed may be specified, which changes the final results consistently, but this does not work like SDL_crc16 and SDL_crc32: you can't feed a previous result from this function back into itself as the next seed value to calculate a hash in chunks; it won't produce the same hash as it would if the same data was provided in a single call.

If you aren't sure what to provide for a seed, zero is fine. Murmur3 is not cryptographically secure, so it shouldn't be used for hashing top-secret data.

\param data the data to be hashed. \param len the size of data, in bytes. \param seed a value that alters the final hash value. \returns a Murmur3 32-bit hash value.

\threadsafety It is safe to call this function from any thread.

\since This function is available since SDL 3.2.0.

extern (C) nothrow @nogc extern
SDL_murmur3_32
(
const(void)* data
,
size_t len
,)

Meta