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 ofotherinto each mask word. Requiresother.len() == mask.count_set_bits(). - and_
then_ πiter - and_
then_ πmask - Applies
otherto the selected rows ofmask, preserving the original row domain. - and_
then_ πmask_ from_ selectors - and_
then_ πmasks - and_
then_ πrow_ selections - Applies
secondto the rows selected byfirst, both selector-backed. - and_
then_ πselectors_ with_ mask - Applies the mask
secondto the rows selected by the selector-backedfirst. - and_
then_ πsparse_ masks - Maps each set bit in
otherto the corresponding set bit inmask. Requiresother.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
RowSelectionreturn 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
RowSelectorreturn the union of them For example: self: NNYYYYNNYYNYN other: NYNNNNNNY