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

vortex-data / vortex / 16980200873

15 Aug 2025 12:53AM UTC coverage: 49.805%. First build
16980200873

Pull #2456

github

web-flow
Merge aff477380 into aaf3e36ad
Pull Request #2456: feat: basic BoolBuffer / BoolBufferMut

574 of 1074 new or added lines in 84 files covered. (53.45%)

20158 of 40474 relevant lines covered (49.8%)

238516.31 hits per line

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

50.0
/vortex-array/src/arrow/compute/to_arrow/null_buffer.rs
1
use arrow_buffer::{BooleanBuffer, NullBuffer};
2
use vortex_mask::Mask;
3

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

15
#[cfg(test)]
16
mod tests {
17
    use vortex_buffer::BitBuffer;
18
    use vortex_mask::Mask;
19

20
    use crate::arrow::compute::to_arrow::null_buffer::to_null_buffer;
21

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

27
        let all_false = Mask::new_false(5);
28
        let null_buffer = to_null_buffer(all_false).unwrap();
29
        assert_eq!(null_buffer.null_count(), 5);
30

31
        let values = Mask::from_buffer(BitBuffer::from_iter([true, false, true, false, true]));
32
        let null_buffer = to_null_buffer(values).unwrap();
33
        assert_eq!(null_buffer.null_count(), 2);
34
    }
35
}
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