You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

ahash

Package Overview
Dependencies
Maintainers
1
Versions
95
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ahash - cargo Package Compare versions

Comparing version
0.8.9
to
0.8.10
+1
-1
.cargo_vcs_info.json
{
"git": {
"sha1": "3f908902a9428c185ca333855e20b9385af7cce4"
"sha1": "545a200b43fee2404c812d5d5c05c2734fb790bd"
},
"path_in_vcs": ""
}

@@ -16,3 +16,3 @@ # THIS FILE IS AUTOMATICALLY GENERATED BY CARGO

name = "ahash"
version = "0.8.9"
version = "0.8.10"
authors = ["Tom Kaitchuck <Tom.Kaitchuck@gmail.com>"]

@@ -124,3 +124,3 @@ build = "./build.rs"

[dev-dependencies.hashbrown]
version = "0.12.3"
version = "0.14.3"

@@ -133,2 +133,5 @@ [dev-dependencies.hex]

[dev-dependencies.pcg-mwc]
version = "0.2.1"
[dev-dependencies.rand]

@@ -135,0 +138,0 @@ version = "0.8.5"

@@ -255,2 +255,3 @@ use crate::convert::*;

self.buffer = folded_multiply(i ^ self.buffer, MULTIPLE);
self.pad = self.pad.wrapping_add(i);
}

@@ -257,0 +258,0 @@

@@ -240,2 +240,3 @@ use crate::convert::*;

self.buffer = folded_multiply(i ^ self.buffer, MULTIPLE);
self.pad = self.pad.wrapping_add(i);
}

@@ -345,3 +346,2 @@

mod tests {
use crate::convert::Convert;
use crate::fallback_hash::*;

@@ -348,0 +348,0 @@

@@ -322,3 +322,2 @@ //! AHash is a high performance keyed hash function.

use std::collections::HashMap;
use std::hash::Hash;

@@ -325,0 +324,0 @@ #[test]

@@ -187,3 +187,2 @@ use crate::convert::*;

use super::*;
use crate::convert::Convert;

@@ -190,0 +189,0 @@ // This is code to search for the shuffle constant

@@ -228,3 +228,53 @@ #![cfg_attr(feature = "specialize", feature(build_hasher_simple_hash_one))]

#[cfg(feature = "std")]
#[test]
fn test_byte_dist() {
use rand::{SeedableRng, Rng, RngCore};
use pcg_mwc::Mwc256XXA64;
let mut r = Mwc256XXA64::seed_from_u64(0xe786_c22b_119c_1479);
let mut lowest = 2.541;
let mut highest = 2.541;
for _round in 0..100 {
let mut table: [bool; 256 * 8] = [false; 256 * 8];
let hasher = RandomState::with_seeds(r.gen(), r.gen(), r.gen(), r.gen());
for i in 0..128 {
let mut keys: [u8; 8] = hasher.hash_one(i as u64).to_ne_bytes();
//let mut keys = r.next_u64().to_ne_bytes(); //This is a control to test assert sensitivity.
for idx in 0..8 {
while table[idx * 256 + keys[idx] as usize] {
keys[idx] = keys[idx].wrapping_add(1);
}
table[idx * 256 + keys[idx] as usize] = true;
}
}
for idx in 0..8 {
let mut len = 0;
let mut total_len = 0;
let mut num_seq = 0;
for i in 0..256 {
if table[idx * 256 + i] {
len += 1;
} else if len != 0 {
num_seq += 1;
total_len += len;
len = 0;
}
}
let mean = total_len as f32 / num_seq as f32;
println!("Mean sequence length = {}", mean);
if mean > highest {
highest = mean;
}
if mean < lowest {
lowest = mean;
}
}
}
assert!(lowest > 1.9, "Lowest = {}", lowest);
assert!(highest < 3.9, "Highest = {}", highest);
}
fn ahash_vec<H: Hash>(b: &Vec<H>) -> u64 {

@@ -231,0 +281,0 @@ let mut total: u64 = 0;

Sorry, the diff of this file is not supported yet