commit 97be8debabcebf3102156a6df09f5acf4e0d8f6a (tree)
parent 2680f9ab48e041108a29271f55a69d9f869461b9
Author: Andrew Kelley <superjoe30@gmail.com>
Date: Mon, 6 Aug 2018 19:09:22 -0400
std.HashMap.autoHash: use xor instead of wrapping mult
Diffstat:
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/std/hash_map.zig b/std/hash_map.zig
@@ -441,9 +441,9 @@ pub fn autoHash(key: var, comptime rng: *std.rand.Random, comptime HashInt: type
builtin.TypeId.Int => |info| {
const unsigned_x = @bitCast(@IntType(false, info.bits), key);
if (info.bits <= HashInt.bit_count) {
- return HashInt(unsigned_x) *% comptime rng.scalar(HashInt);
+ return HashInt(unsigned_x) ^ comptime rng.scalar(HashInt);
} else {
- return @truncate(HashInt, unsigned_x *% comptime rng.scalar(@typeOf(unsigned_x)));
+ return @truncate(HashInt, unsigned_x ^ comptime rng.scalar(@typeOf(unsigned_x)));
}
},