vortex_array/arrays/dict/compute/
is_constant.rs

1// SPDX-License-Identifier: Apache-2.0
2// SPDX-FileCopyrightText: Copyright the Vortex contributors
3
4use vortex_error::VortexResult;
5
6use super::{DictArray, DictVTable};
7use crate::compute::{IsConstantKernel, IsConstantKernelAdapter, IsConstantOpts, is_constant_opts};
8use crate::register_kernel;
9
10impl IsConstantKernel for DictVTable {
11    fn is_constant(&self, array: &DictArray, opts: &IsConstantOpts) -> VortexResult<Option<bool>> {
12        if is_constant_opts(array.codes(), opts)? == Some(true) {
13            return Ok(Some(true));
14        }
15
16        is_constant_opts(array.values(), opts)
17    }
18}
19
20register_kernel!(IsConstantKernelAdapter(DictVTable).lift());