vortex_dict/compute/
is_constant.rs

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