View Source Murmur (Murmur v2.0.0)

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")
217376041865091047320520964146365461062

# hashes of Erlang terms may change between Erlang versions
# 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

Link to this function

hash_x64_128(data, seed \\ 0)

View Source
@spec 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.

Link to this function

hash_x86_32(data, seed \\ 0)

View Source
@spec 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.

Link to this function

hash_x86_128(data, seed \\ 0)

View Source
@spec 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.