commit d09fd249c090c68f6bba9731572e52f51afa7536 (tree)
parent 5ad44c14b0c1f8e55856a8f048a570dad564c231
Author: Andrew Kelley <andrew@ziglang.org>
Date: Fri, 1 Nov 2024 12:03:26 -0700
std.hash.int: restore previous behavior
In the parent commit, I handled odd bit sizes by upcasting and
truncating. However it seems the else branch is intended to handle
those cases instead, so this commit reverts that behavior.
Diffstat:
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/lib/std/hash.zig b/lib/std/hash.zig
@@ -51,12 +51,8 @@ pub fn int(input: anytype) @TypeOf(input) {
const Unsigned = @Type(.{ .int = .{ .signedness = .unsigned, .bits = info.bits } });
const casted: Unsigned = @bitCast(input);
return @bitCast(int(casted));
- } else if (info.bits < 16) {
- return @truncate(int(@as(u16, input)));
- } else if (info.bits < 32) {
- return @truncate(int(@as(u32, input)));
- } else if (info.bits < 64) {
- return @truncate(int(@as(u64, input)));
+ } else if (info.bits < 4) {
+ return @truncate(int(@as(u4, input)));
}
var x = input;
switch (info.bits) {