murmurhash3 0.0.5

MurmurHash3 implementation
Documentation
  • Coverage
  • 0%
    0 out of 3 items documented0 out of 0 items with examples
  • Size
  • Source code size: 18.66 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.26 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 9s Average build duration of successful builds.
  • all releases: 9s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • mhallin

MurmurHash3.rs


.. image:: https://travis-ci.org/mhallin/murmurhash3-rs.svg?branch=master :target: https://travis-ci.org/mhallin/murmurhash3-rs

A rust implementation of the MurmurHash3_. Both 32 bit and 128 bit versions are included. The 128 bit version is implemented with 64 bit datatypes, making it most suitable for x86_64 or other 64 bit architectures.


Usage

In your Cargo.toml:

.. code:: toml

[dependencies]
murmurhash3 = "*"

Then you can start to use either murmurhash3_x86_32 or murmurhash3_x64_128:

.. code:: rust

use murmurhash3::murmurhash3_x64_128;

fn hash_value() {
    let data = "test data";
    let seed = 48221234;

    let hash = murmurhash3_x64_128(data.as_bytes(), seed);
}

Unfortunately, there is a bug in the HashState library implementation which prevents implementation of new Hasher implementations for use in for example HashMap. Additionally, only the 32 bit hasher can be used there since HashMap uses a 64 bit hash internally.

Tests

.. code::

cargo test

Runs all tests with optimization level 3 in order to weed out potential problems with the optimizer.

.. _MurmurHash3: https://code.google.com/p/smhasher/wiki/MurmurHash3