vortex_array/arrays/chunked/compute/
invert.rs1use itertools::Itertools;
2use vortex_error::VortexResult;
3
4use crate::arrays::{ChunkedArray, ChunkedEncoding};
5use crate::compute::{InvertKernel, InvertKernelAdapter, invert};
6use crate::{Array, ArrayRef, register_kernel};
7
8impl InvertKernel for ChunkedEncoding {
9 fn invert(&self, array: &ChunkedArray) -> VortexResult<ArrayRef> {
10 let chunks = array.chunks().iter().map(|c| invert(c)).try_collect()?;
11 Ok(ChunkedArray::new_unchecked(chunks, array.dtype().clone()).into_array())
12 }
13}
14
15register_kernel!(InvertKernelAdapter(ChunkedEncoding).lift());