Skip to content

Commit e2ae7b7

Browse files
committed
Further speed up key generation
Signed-off-by: Tom Kaitchuck <Tom.Kaitchuck@gmail.com>
1 parent 1e94eac commit e2ae7b7

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/random_state.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -316,13 +316,13 @@ impl <T> RandomState<T> {
316316
#[inline]
317317
fn from_keys(a: &[u64; 4], b: &[u64; 4], pre_mixed_key: u64) -> RandomState<T> {
318318
let &[_k0, _k1, k2, k3] = a;
319-
let c1 = pre_mixed_key.wrapping_add(k2);
320-
let c2 = pre_mixed_key.wrapping_add(k3);
319+
let c1 = folded_multiply(pre_mixed_key, k2);
320+
let c2 = folded_multiply(pre_mixed_key, k3);
321321
RandomState {
322-
k0: folded_multiply(c1 ^ b[0], b[2]),
323-
k1: folded_multiply(c1 ^ b[1], b[3]),
324-
k2: folded_multiply(c2 ^ b[2], b[1]),
325-
k3: folded_multiply(c2 ^ b[3], b[0]),
322+
k0: (c1 ^ b[0]).wrapping_add(b[2]),
323+
k1: (c1 ^ b[1]).wrapping_add(b[3]),
324+
k2: (c2 ^ b[2]).wrapping_add(b[1]),
325+
k3: (c2 ^ b[3]).wrapping_add(b[0]),
326326
_h: PhantomData::default(),
327327
}
328328
}

0 commit comments

Comments
 (0)