fn boyerMooreHorspoolPreprocessReverse(pattern: []const u8, table: *[256]usize) void pattern: []const u8table: *[256]usize1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506fn boyerMooreHorspoolPreprocessReverse(pattern: []const u8, table: *[256]usize) void {
for (table) |*c| {
c.* = pattern.len;
}
var i: usize = pattern.len - 1;
// The first item is intentionally ignored and the skip size will be pattern.len.
// This is the standard way Boyer-Moore-Horspool is implemented.
while (i > 0) : (i -= 1) {
table[pattern[i]] = i;
}
}