fn hashLen17To32(str: []const u8) u64
str: []const u8
230 231 232 233 234 235 236 237 238 239
fn hashLen17To32(str: []const u8) u64 { const len: u64 = @as(u64, str.len); const mul: u64 = k2 +% len *% 2; const a: u64 = fetch64(str.ptr, 0) *% k1; const b: u64 = fetch64(str.ptr, 8); const c: u64 = fetch64(str.ptr, str.len - 8) *% mul; const d: u64 = fetch64(str.ptr, str.len - 16) *% k2; return hashLen16Mul(rotr64(a +% b, 43) +% rotr64(c, 30) +% d, a +% rotr64(b +% k2, 18) +% c, mul); }