Build from a column of u32 symbol IDs.
(column_name: &str, values: &[u32], block_size: usize)
| 126 | impl SetIndex { |
| 127 | /// Build from a column of u32 symbol IDs. |
| 128 | pub fn build(column_name: &str, values: &[u32], block_size: usize) -> Self { |
| 129 | let blocks = values |
| 130 | .chunks(block_size) |
| 131 | .map(|chunk| { |
| 132 | let mut unique: Vec<u32> = chunk.to_vec(); |
| 133 | unique.sort_unstable(); |
| 134 | unique.dedup(); |
| 135 | unique |
| 136 | }) |
| 137 | .collect(); |
| 138 | Self { |
| 139 | column_name: column_name.to_string(), |
| 140 | blocks, |
| 141 | } |
| 142 | } |
| 143 | |
| 144 | /// Return block indices that contain the given symbol ID. |
| 145 | pub fn filter_eq(&self, symbol_id: u32) -> Vec<usize> { |