Murmur

This module implements the x86_32, x86_128 and x64_128 variants of the non-cryptographic hash Murmur3.

Examples

iex> Murmur.hash_x86_32("b2622f5e1310a0aa14b7f957fe4246fa", 2147368987)
3297211900

iex> Murmur.hash_x86_128("some random data")
5586633072055552000169173700229798482

iex> Murmur.hash_x64_128([:yes, :you, :can, :use, :any, :erlang, :term!])
300414073828138369336317731503972665325

Summary

Functions

Returns the hashed erlang term data using an optional seed which defaults to 0

Returns the hashed erlang term data using an optional seed which defaults to 0

Returns the hashed erlang term data using an optional seed which defaults to 0

Functions

hash_x64_128(data, seed \\ 0)

Specs

hash_x64_128(binary | term, non_neg_integer) :: non_neg_integer

Returns the hashed erlang term data using an optional seed which defaults to 0.

This function uses the x64 128bit variant.

hash_x86_128(data, seed \\ 0)

Specs

hash_x86_128(binary | term, non_neg_integer) :: non_neg_integer

Returns the hashed erlang term data using an optional seed which defaults to 0.

This function uses the x86 128bit variant.

hash_x86_32(data, seed \\ 0)

Specs

hash_x86_32(binary | term, non_neg_integer) :: non_neg_integer

Returns the hashed erlang term data using an optional seed which defaults to 0.

This function uses the x86 32bit variant.