• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vortex-data / vortex / 16992591828

15 Aug 2025 02:51PM UTC coverage: 87.203% (-0.5%) from 87.72%
16992591828

Pull #2456

github

web-flow
Merge fe7e226a7 into 4a23f65b3
Pull Request #2456: feat: basic BoolBuffer / BoolBufferMut

476 of 1230 new or added lines in 107 files covered. (38.7%)

74 existing lines in 19 files now uncovered.

56525 of 64820 relevant lines covered (87.2%)

623751.88 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/vortex-array/src/arrow/compute/to_arrow/null_buffer.rs
1
// SPDX-License-Identifier: Apache-2.0
2
// SPDX-FileCopyrightText: Copyright the Vortex contributors
3

4
use arrow_buffer::{BooleanBuffer, NullBuffer};
5
use vortex_mask::Mask;
6

7
/// Converts a mask to a null buffer.
NEW
8
pub fn to_null_buffer(mask: Mask) -> Option<NullBuffer> {
×
NEW
9
    match mask {
×
NEW
10
        Mask::AllTrue(_) => None,
×
NEW
11
        Mask::AllFalse(l) => Some(NullBuffer::new_null(l)),
×
NEW
12
        Mask::Values(values) => Some(NullBuffer::from(BooleanBuffer::from(
×
NEW
13
            values.bit_buffer().clone(),
×
NEW
14
        ))),
×
15
    }
NEW
16
}
×
17

18
#[cfg(test)]
19
mod tests {
20
    use vortex_buffer::BitBuffer;
21
    use vortex_mask::Mask;
22

23
    use crate::arrow::compute::to_arrow::null_buffer::to_null_buffer;
24

25
    #[test]
26
    fn test_mask_to_null_buffer() {
27
        let all_true = Mask::new_true(5);
28
        assert!(to_null_buffer(all_true).is_none());
29

30
        let all_false = Mask::new_false(5);
31
        let null_buffer = to_null_buffer(all_false).unwrap();
32
        assert_eq!(null_buffer.null_count(), 5);
33

34
        let values = Mask::from_buffer(BitBuffer::from_iter([true, false, true, false, true]));
35
        let null_buffer = to_null_buffer(values).unwrap();
36
        assert_eq!(null_buffer.null_count(), 2);
37
    }
38
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc