correct the hint in XxHash3

This commit is contained in:
David Rubin 2024-12-15 03:40:20 -08:00
parent af89bb05d3
commit b58916bb7c
No known key found for this signature in database
GPG Key ID: A4390FEB5F00C0A5

View File

@ -593,7 +593,7 @@ pub const XxHash3 = struct {
}
fn hash3(seed: u64, input: anytype, noalias secret: *const [192]u8) u64 {
@branchHint(.cold);
@branchHint(.unlikely);
std.debug.assert(input.len > 0 and input.len < 4);
const flip: [2]u32 = @bitCast(secret[0..8].*);
@ -625,7 +625,7 @@ pub const XxHash3 = struct {
}
fn hash16(seed: u64, input: anytype, noalias secret: *const [192]u8) u64 {
@branchHint(.cold);
@branchHint(.unlikely);
std.debug.assert(input.len > 8 and input.len <= 16);
const flip: [4]u64 = @bitCast(secret[24..56].*);
@ -641,7 +641,7 @@ pub const XxHash3 = struct {
}
fn hash128(seed: u64, input: anytype, noalias secret: *const [192]u8) u64 {
@branchHint(.cold);
@branchHint(.unlikely);
std.debug.assert(input.len > 16 and input.len <= 128);
var acc = XxHash64.prime_1 *% @as(u64, input.len);
@ -657,7 +657,7 @@ pub const XxHash3 = struct {
}
fn hash240(seed: u64, input: anytype, noalias secret: *const [192]u8) u64 {
@branchHint(.cold);
@branchHint(.unlikely);
std.debug.assert(input.len > 128 and input.len <= 240);
var acc = XxHash64.prime_1 *% @as(u64, input.len);
@ -676,7 +676,7 @@ pub const XxHash3 = struct {
}
noinline fn hashLong(seed: u64, input: []const u8) u64 {
@branchHint(.cold);
@branchHint(.unlikely);
std.debug.assert(input.len >= 240);
const block_count = ((input.len - 1) / @sizeOf(Block)) * @sizeOf(Block);