README.md

Murmur
======

[![test](https://github.com/preciz/murmur/actions/workflows/test.yml/badge.svg)](https://github.com/preciz/murmur/actions/workflows/test.yml)

Murmur is a pure Elixir implementation of the non-cryptographic hash [Murmur3](https://code.google.com/p/smhasher/wiki/MurmurHash3).

It aims to implement the x86_32bit, x86_128bit and x64_128bit variants.

# Usage

Add Murmur as a dependency in your mix.exs file.

```elixir
def deps do
  [{:murmur, "~> 1.0"}]
end
```

# Examples

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

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

# hashes of erlang terms may change between erlang versions
# iex> Murmur.hash_x64_128([:yes, :you, :can, :use, :any, :erlang, :term!])
# => 300414073828138369336317731503972665325
```