Check if an entry ID is set in a bitmap.
(bitmap: &[u8], id: u64)
| 122 | |
| 123 | /// Check if an entry ID is set in a bitmap. |
| 124 | pub fn bitmap_contains(bitmap: &[u8], id: u64) -> bool { |
| 125 | let byte_idx = (id / 8) as usize; |
| 126 | let bit_idx = (id % 8) as u32; |
| 127 | if byte_idx < bitmap.len() { |
| 128 | bitmap[byte_idx] & (1 << bit_idx) != 0 |
| 129 | } else { |
| 130 | false |
| 131 | } |
| 132 | } |
| 133 | |
| 134 | #[cfg(test)] |
| 135 | mod tests { |