#hash #version #documentation

murmurhash64

Implementation of MurmurHash2 (64bit version)

5 unstable releases

Uses old Rust 2015

0.3.1 Mar 3, 2016
0.3.0 Jan 27, 2016
0.2.0 May 9, 2015
0.1.1 Nov 22, 2014
0.1.0 Nov 20, 2014

#2325 in Algorithms

Download history 73/week @ 2024-12-13 60/week @ 2024-12-20 17/week @ 2024-12-27 55/week @ 2025-01-03 236/week @ 2025-01-10 172/week @ 2025-01-17 152/week @ 2025-01-24 263/week @ 2025-01-31 168/week @ 2025-02-07 49/week @ 2025-02-14 32/week @ 2025-02-21 57/week @ 2025-02-28 435/week @ 2025-03-07 821/week @ 2025-03-14 573/week @ 2025-03-21 649/week @ 2025-03-28

2,489 downloads per month
Used in 5 crates (3 directly)

BSD-3-Clause

9KB
152 lines

MurmurHash2 (64bit) implementation

Build Status

Based on the implementation for Redis (antirez/redis src/hyperloglog.c)

More info and different implementations available at: https://sites.google.com/site/murmurhash/

Documentation

Build

cargo build --release

Usage

use murmurhash64::murmur_hash64a;

fn main() {
    let key = "Pizza & Mandolino";
    let seed = 2915580697;

    let hash = murmur_hash64a(key.as_bytes(), seed);
}

As a Hasher

use std::collections::HashMap;
use murmurhash64::{MurmurHasher,RandomMurmurState};
use std::default::Default;

fn main() {
    let mut hashmap : HashMap<_, _, RandomMurmurState> = Default::default();
    hashmap.insert("abc", 123);
    hashmap.insert("def", 456);
    assert_eq!(Some(&123), hashmap.get("abc"));
    assert_eq!(Some(&456), hashmap.get("def"));
}

Tests

Run tests with:

cargo test

Contribute

If you find bugs or want to help otherwise, please open an issue.

License

BSD. See LICENSE.

Dependencies

~340–570KB