wyhash2

Crates.iowyhash2
lib.rswyhash2
version0.2.1
sourcesrc
created_at2021-02-19 12:49:58.777084
updated_at2021-05-23 17:39:22.416816
descriptionA simple wyhash2 implementation in rust.
homepage
repositoryhttps://github.com/JackThomson2/wyhash2
max_upload_size
id357553
size9,761
Jack Thomson (JackThomson2)

documentation

README

WyHash2

A simple, light and fast hashing algorithm written by Wang Yi. Ported to rust for your ease of use.

Thanks also goes to Eldruin their WyHash was very helpful for reference on getting started.

Features

  • nightly which enables some nightly only intrinsicts which can help improve performance.

  • std This is enabled by default, however can be disabled for no_std enviroments

Usage

A basic example:

use core::hash::Hasher;
use wyhash2::WyHash;

fn main() {
    let secret = 0;
    let mut hasher = WyHash::with_seed(secret);
    hasher.write(&[0, 1, 2]);
    println!("We got {}", hasher.finish());
}

Wyhash2 Implements BuildHasher which means it can be used as the hasher for the Hashmap

Usage with a Hashmap:

use wyhash2::WyHash;
use std::collections::HashMap;

fn main() {
    let hasher = WyHash::with_seed(0);
    let mut map: HashMap<String, String, WyHash> = HashMap::with_hasher(hasher);

    map.insert("Hello".to_string(), "World".to_string());

    println!("We got {}", map.get("Hello").unwrap());
}

no_std usage

[dependencies]
wyhash2 = { version = "...", default-features = false }

License

Licensed under either of

at your option.

Commit count: 13

cargo fmt