struct FatMaskBuilder {
lo: [u8; 32],
hi: [u8; 32],
}
Expand description
Represents the low and high nybble masks that will be used during “fat” Teddy search.
Each mask is 32 bytes wide, and at the time of writing, only 256-bit vectors support fat Teddy.
A fat Teddy mask is like a slim Teddy mask, except that instead of repeating the bitsets in the high and low 128-bits in 256-bit vectors, the high and low 128-bit halves each represent distinct buckets. (Bringing the total to 16 instead of 8.) This permits spreading the patterns out a bit more and thus putting less pressure on verification to be fast.
Each byte in the mask corresponds to a 8-bit bitset, where bit i
is set
if and only if the corresponding nybble is in the ith bucket. The index of
the byte (0-15, inclusive) corresponds to the nybble.
Fields§
§lo: [u8; 32]
§hi: [u8; 32]
Implementations§
Source§impl FatMaskBuilder
impl FatMaskBuilder
Sourcefn add(&mut self, bucket: usize, byte: u8)
fn add(&mut self, bucket: usize, byte: u8)
Update this mask by adding the given byte to the given bucket. The given bucket must be in the range 0-15.
§Panics
When bucket >= 16
.
Trait Implementations§
Source§impl Clone for FatMaskBuilder
impl Clone for FatMaskBuilder
Source§fn clone(&self) -> FatMaskBuilder
fn clone(&self) -> FatMaskBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more