[−][src]Module compressed_vec::filter
Structs
EqualsIF | |
GenericFilterSink | Sink designed to filter 8 items at a time from the decoder, building up a bitmask for each section. It is generic for different predicates and base types. Has optimizations for null sections. |
MembershipPredicate | A predicate for low cardinality SET membership (one of/IN matches), consisting of a Vec of 8 values each |
MultiVectorFilter | Helper to facilitate filtering multiple vectors at the same time, this one filters by the same type of filter (eg all Equals). For each group of sections, the same section filter masks are then ANDed together. It has one optimization: it short-circuits the ANDing as soon as the masking creates an all-zero mask. Thus it makes sense to put the most sparse and least likely to hit vector first. |
OneOfIF | |
SingleValuePredicate | A predicate containing 8 values (probably SIMD) of each type for single comparisons |
VectorFilter | Allows for filtering over each section of a vector. Yields an Iterator of u32x8 mask for each section in the vector. |
Constants
EMPTY_FILTER |
Traits
InnerFilter | |
Predicate | A Predicate is the value(s) for a filter to filter against |
SectFilterSink | A Sink designed to filter 256-section vectors. The workflow: |
UnaryFilter | A Unary filter takes one mask input, does some kind of filtering and creates a new mask. Filters that process and filter vectors are a subset of the above. |
Functions
count_hits | Counts the output of VectorFilter iterator (or multiple VectorFilter results ANDed together) for all the 1's in the output and returns the total SIMD count_ones() is used for fast counting |
match_positions | Creates a Vec of the element positions where matches occur |
Type Definitions
EmptyFilter | |
EqualsSink | |
OneOfSink |