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.
This commit is contained in:
Andrew Kelley 2024-11-01 12:03:26 -07:00
parent 5ad44c14b0
commit d09fd249c0

View File

@ -51,12 +51,8 @@ pub fn int(input: anytype) @TypeOf(input) {
const Unsigned = @Type(.{ .int = .{ .signedness = .unsigned, .bits = info.bits } }); const Unsigned = @Type(.{ .int = .{ .signedness = .unsigned, .bits = info.bits } });
const casted: Unsigned = @bitCast(input); const casted: Unsigned = @bitCast(input);
return @bitCast(int(casted)); return @bitCast(int(casted));
} else if (info.bits < 16) { } else if (info.bits < 4) {
return @truncate(int(@as(u16, input))); return @truncate(int(@as(u4, input)));
} else if (info.bits < 32) {
return @truncate(int(@as(u32, input)));
} else if (info.bits < 64) {
return @truncate(int(@as(u64, input)));
} }
var x = input; var x = input;
switch (info.bits) { switch (info.bits) {