Commit 97be8debab

Andrew Kelley <superjoe30@gmail.com>
2018-08-07 01:09:22
std.HashMap.autoHash: use xor instead of wrapping mult
1 parent 2680f9a
Changed files (1)
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)));
             }
         },