Struct hashers::jenkins::spooky_hash::SpookyHasher [−][src]
pub struct SpookyHasher { pub m_data: [u8; 192], pub m_state: [Wrapping<u64>; 12], pub m_length: usize, pub m_remainder: usize, }
From http://burtleburtle.net/bob/hash/spooky.html
SpookyHash is a public domain noncryptographic hash function producing well-distributed 128-bit hash values for byte arrays of any length. It can produce 64-bit and 32-bit hash values too, at the same speed, just use the bottom n bits. The C++ reference implementation is specific to 64-bit x86 platforms, in particular it assumes the processor is little endian. Long keys hash in 3 bytes per cycle, short keys take about 1 byte per cycle, and there is a 30 cycle startup cost. Keys can be supplied in fragments. The function allows a 128-bit seed. It's named SpookyHash because it was released on Halloween.
Fields
m_data: [u8; 192]
m_state: [Wrapping<u64>; 12]
m_length: usize
m_remainder: usize
Methods
impl SpookyHasher
[src]
impl SpookyHasher
Trait Implementations
impl Default for SpookyHasher
[src]
impl Default for SpookyHasher
fn default() -> SpookyHasher
[src]
fn default() -> SpookyHasher
Returns the "default value" for a type. Read more
impl Hasher for SpookyHasher
[src]
impl Hasher for SpookyHasher
fn finish(&self) -> u64
[src]
fn finish(&self) -> u64
Returns the hash value for the values written so far. Read more
fn write(&mut self, bytes: &[u8])
[src]
fn write(&mut self, bytes: &[u8])
Writes some data into this Hasher
. Read more
fn write_u8(&mut self, i: u8)
1.3.0[src]
fn write_u8(&mut self, i: u8)
Writes a single u8
into this hasher.
fn write_u16(&mut self, i: u16)
1.3.0[src]
fn write_u16(&mut self, i: u16)
Writes a single u16
into this hasher.
fn write_u32(&mut self, i: u32)
1.3.0[src]
fn write_u32(&mut self, i: u32)
Writes a single u32
into this hasher.
fn write_u64(&mut self, i: u64)
1.3.0[src]
fn write_u64(&mut self, i: u64)
Writes a single u64
into this hasher.
fn write_u128(&mut self, i: u128)
1.26.0[src]
fn write_u128(&mut self, i: u128)
Writes a single u128
into this hasher.
fn write_usize(&mut self, i: usize)
1.3.0[src]
fn write_usize(&mut self, i: usize)
Writes a single usize
into this hasher.
fn write_i8(&mut self, i: i8)
1.3.0[src]
fn write_i8(&mut self, i: i8)
Writes a single i8
into this hasher.
fn write_i16(&mut self, i: i16)
1.3.0[src]
fn write_i16(&mut self, i: i16)
Writes a single i16
into this hasher.
fn write_i32(&mut self, i: i32)
1.3.0[src]
fn write_i32(&mut self, i: i32)
Writes a single i32
into this hasher.
fn write_i64(&mut self, i: i64)
1.3.0[src]
fn write_i64(&mut self, i: i64)
Writes a single i64
into this hasher.
fn write_i128(&mut self, i: i128)
1.26.0[src]
fn write_i128(&mut self, i: i128)
Writes a single i128
into this hasher.
fn write_isize(&mut self, i: isize)
1.3.0[src]
fn write_isize(&mut self, i: isize)
Writes a single isize
into this hasher.
Auto Trait Implementations
impl Send for SpookyHasher
impl Send for SpookyHasher
impl Sync for SpookyHasher
impl Sync for SpookyHasher