fn updateEmpty(self: *Accumulator, input: anytype, comptime unroll_count: usize) usize self: *Accumulatorinputunroll_count: usize269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286 fn updateEmpty(self: *Accumulator, input: anytype, comptime unroll_count: usize) usize {
var i: usize = 0;
if (unroll_count > 0) {
const unrolled_bytes = unroll_count * 16;
while (i + unrolled_bytes <= input.len) : (i += unrolled_bytes) {
inline for (0..unroll_count) |j| {
self.processStripe(input[i + j * 16 ..][0..16]);
}
}
}
while (i + 16 <= input.len) : (i += 16) {
self.processStripe(input[i..][0..16]);
}
return i;
}