vortex_runend/compute/
invert.rs1use vortex_array::ArrayRef;
5use vortex_array::IntoArray;
6use vortex_array::compute::InvertKernel;
7use vortex_array::compute::InvertKernelAdapter;
8use vortex_array::compute::invert;
9use vortex_array::register_kernel;
10use vortex_error::VortexResult;
11
12use crate::RunEndArray;
13use crate::RunEndVTable;
14
15impl InvertKernel for RunEndVTable {
16 fn invert(&self, array: &RunEndArray) -> VortexResult<ArrayRef> {
17 unsafe {
19 Ok(RunEndArray::new_unchecked(
20 array.ends().clone(),
21 invert(array.values())?,
22 array.len(),
23 array.offset(),
24 )
25 .into_array())
26 }
27 }
28}
29
30register_kernel!(InvertKernelAdapter(RunEndVTable).lift());