vortex_array/arrays/constant/compute/invert.rs
1use vortex_error::VortexResult;
2
3use crate::arrays::{ConstantArray, ConstantEncoding};
4use crate::compute::InvertFn;
5use crate::{Array, ArrayRef};
6
7impl InvertFn<&ConstantArray> for ConstantEncoding {
8 fn invert(&self, array: &ConstantArray) -> VortexResult<ArrayRef> {
9 match array.scalar().as_bool().value() {
10 None => Ok(array.to_array().into_array()),
11 Some(b) => Ok(ConstantArray::new(!b, array.len()).into_array()),
12 }
13 }
14}