Skip to main content

Module algebra

Module algebra 

Source
Expand description

Set algebra backing RowSelection::and_then, RowSelection::intersection and RowSelection::union

Each operation has two implementations, picked by the backing of its operands: a merge of the RowSelector runs, and a bitwise variant over [BooleanBuffer] masks.

ConstantsΒ§

AND_THEN_DENSE_MASK_MAX_DROPPED_FRACTION πŸ”’
AND_THEN_DENSE_MASK_MIN_INNER_FRACTION πŸ”’
AND_THEN_DENSE_MASK_MIN_LEN πŸ”’

FunctionsΒ§

and_then_dense_masks πŸ”’
Scatters the next mask_word.count_ones() bits of other into each mask word. Requires other.len() == mask.count_set_bits().
and_then_iter πŸ”’
and_then_mask πŸ”’
Applies other to the selected rows of mask, preserving the original row domain.
and_then_mask_from_selectors πŸ”’
and_then_masks πŸ”’
and_then_row_selections πŸ”’
Applies second to the rows selected by first, both selector-backed.
and_then_selectors_with_mask πŸ”’
Applies the mask second to the rows selected by the selector-backed first.
and_then_sparse_masks πŸ”’
Maps each set bit in other to the corresponding set bit in mask. Requires other.len() == mask.count_set_bits().
combine_equal_length_masks πŸ”’
Combines two masks of equal length with the bitwise operation op.
combine_mixed_selection πŸ”’
Combines a mask and selectors without expanding the mask into runs.
combine_unequal_length_masks πŸ”’
Combines two masks of unequal length with the bitwise operation op, passing the longer side’s tail through unchanged.
intersect_masks πŸ”’
Bitwise AND of two mask-backed selections. Longer side’s tail passes through.
intersect_row_selections πŸ”’
Combine two lists of RowSelection return the intersection of them For example: self: NNYYYYNNYYNYN other: NYNNNNNNY
should_use_dense_mask πŸ”’
Checks the length and selectivity thresholds for dense expansion.
union_masks πŸ”’
Bitwise OR of two mask-backed selections. Longer side’s tail passes through.
union_row_selections πŸ”’
Combine two lists of RowSelector return the union of them For example: self: NNYYYYNNYYNYN other: NYNNNNNNY