Skip to main content

Crate jamhash

Crate jamhash 

Source
Expand description

§jamhash

A non-cryptographic 64-bit hash for canonical packed DNA kmers.

The primary API is jamhash_u64. Callers provide a canonical kmer packed into a u64; encoding and canonicalization are outside this crate.

use jamhash::jamhash_u64;

let canonical_kmer = 0x0000_006f_93b4_b1bc;
assert_eq!(jamhash_u64(canonical_kmer), 0xaf47_a961_8481_4793);

jamhash_bytes and JamHasher are separate, architecture-local byte algorithms. JamHasher hashes a sequence of non-empty write frames, not the concatenation of a byte stream. This crate is not cryptographic and its fixed hashers must not be used for attacker-controlled hash-table keys.

Structs§

JamHasher
Call-sequence hasher implementing Hasher.

Functions§

jamhash_bytes
Hash arbitrary bytes with the single-shot byte algorithm.
jamhash_u64
Specialized hash function for single u64 values.