vortex_array/arrays/constant/compute/
cast.rs

1use vortex_dtype::DType;
2use vortex_error::VortexResult;
3
4use crate::arrays::{ConstantArray, ConstantVTable};
5use crate::compute::{CastKernel, CastKernelAdapter};
6use crate::{ArrayRef, IntoArray, register_kernel};
7
8impl CastKernel for ConstantVTable {
9    fn cast(&self, array: &ConstantArray, dtype: &DType) -> VortexResult<ArrayRef> {
10        Ok(ConstantArray::new(array.scalar().cast(dtype)?, array.len()).into_array())
11    }
12}
13
14register_kernel!(CastKernelAdapter(ConstantVTable).lift());