inline fn smallKey(self: *Wyhash, input: []const u8) void self: *Wyhashinput: []const u8106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121 inline fn smallKey(self: *Wyhash, input: []const u8) void {
std.debug.assert(input.len <= 16);
if (input.len >= 4) {
const end = input.len - 4;
const quarter = (input.len >> 3) << 2;
self.a = (read(4, input[0..]) << 32) | read(4, input[quarter..]);
self.b = (read(4, input[end..]) << 32) | read(4, input[end - quarter ..]);
} else if (input.len > 0) {
self.a = (@as(u64, input[0]) << 16) | (@as(u64, input[input.len >> 1]) << 8) | input[input.len - 1];
self.b = 0;
} else {
self.a = 0;
self.b = 0;
}
}