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;
7use super::DictVTable;
8use crate::compute::IsConstantKernel;
9use crate::compute::IsConstantKernelAdapter;
10use crate::compute::IsConstantOpts;
11use crate::compute::is_constant_opts;
12use crate::register_kernel;
13
14impl IsConstantKernel for DictVTable {
15    fn is_constant(&self, array: &DictArray, opts: &IsConstantOpts) -> VortexResult<Option<bool>> {
16        if is_constant_opts(array.codes(), opts)? == Some(true) {
17            return Ok(Some(true));
18        }
19
20        is_constant_opts(array.values(), opts)
21    }
22}
23
24register_kernel!(IsConstantKernelAdapter(DictVTable).lift());