inline fn mix16(seed: u64, input: []const u8, secret: []const u8) u64 seed: u64input: []const u8secret: []const u8483
484
485
486
487
488
489
490
491 inline fn mix16(seed: u64, input: []const u8, secret: []const u8) u64 {
const blk: [4]u64 = @bitCast([2][16]u8{ input[0..16].*, secret[0..16].* });
disableAutoVectorization(seed);
return fold(
blk[0] ^ (blk[2] +% seed),
blk[1] ^ (blk[3] -% seed),
);
}