vortex_array/arrays/bool/compute/
invert.rs

1use std::ops::Not;
2
3use vortex_error::VortexResult;
4
5use crate::arrays::{BoolArray, BoolVTable};
6use crate::compute::{InvertKernel, InvertKernelAdapter};
7use crate::vtable::ValidityHelper;
8use crate::{ArrayRef, IntoArray, register_kernel};
9
10impl InvertKernel for BoolVTable {
11    fn invert(&self, array: &BoolArray) -> VortexResult<ArrayRef> {
12        Ok(BoolArray::new(array.boolean_buffer().not(), array.validity().clone()).into_array())
13    }
14}
15
16register_kernel!(InvertKernelAdapter(BoolVTable).lift());