The insert function code is mostly:
// Both indexes are screen selector, as each new screen adds one mask.
const auto mask = matrix[selector][selector];
// Merge incremented selector, current sieve, and new fingerprint.
sieve = bit_or
(
shift_left(selector, screen_bits),
bit_and
(
selector_mask,
bit_or
(
bit_and(print, mask),
bit_and(sieve, bit_not(mask))
)
)
); (edited)