View Source Murmur3 (murmur3 v0.1.0)

Murmur3 library for Elixir calling a Rust NIF as a wrapper and providing a more idiomatic API.

Summary

Functions

Generates a x64 128-bit Murmur3 hash.

Generates a 32-bit Murmur3 hash.

Generates a x86 128-bit Murmur3 hash.

Functions

Link to this function

murmur3_x64_128(input, seed \\ 0)

View Source
@spec murmur3_x64_128(binary(), integer()) :: {atom(), integer()} | {atom(), binary()}

Generates a x64 128-bit Murmur3 hash.

Parameters

  • input - The input to hash
  • seed - The seed to use for the hash

Examples

iex> Murmur3.murmur3_x64_128("hello")
{:ok, 121118445609844952839898260755277781762}
iex> Murmur3.murmur3_x64_128("hello", 123)
{:ok, 19243349499071459060235768594146641163}
Link to this function

murmur3_x86_32(input, seed \\ 0)

View Source
@spec murmur3_x86_32(binary(), integer()) :: {atom(), integer()} | {atom(), binary()}

Generates a 32-bit Murmur3 hash.

Parameters

  • input - The input to hash
  • seed - The seed to use for the hash

Examples

iex> Murmur3.murmur3_x86_32("hello")
{:ok, 613153351}
iex> Murmur3.murmur3_x86_32("hello", 123)
{:ok, 1573043710}
Link to this function

murmur3_x86_128(input, seed \\ 0)

View Source
@spec murmur3_x86_128(binary(), integer()) :: {atom(), integer()} | {atom(), binary()}

Generates a x86 128-bit Murmur3 hash.

Parameters

  • input - The input to hash
  • seed - The seed to use for the hash

Examples

iex> Murmur3.murmur3_x86_128("hello")
{:ok, 205839232668418009241864179939306390688}
iex> Murmur3.murmur3_x86_128("hello", 123)
{:ok, 39646137218600763345533167485429249129}