This is an automated email from the ASF dual-hosted git repository. jiayuliu pushed a commit to branch add-min-max-kernel in repository https://gitbox.apache.org/repos/asf/arrow-rs.git
commit 0ee26ec52d2831168404f492c3ac20e04044fa63 Author: Jiayu Liu <[email protected]> AuthorDate: Sat Jun 3 09:22:34 2023 +0800 add min and max kernel --- arrow-ord/src/lib.rs | 1 + arrow-ord/src/min_max.rs | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/arrow-ord/src/lib.rs b/arrow-ord/src/lib.rs index 62338c022..e1eec2c3c 100644 --- a/arrow-ord/src/lib.rs +++ b/arrow-ord/src/lib.rs @@ -44,6 +44,7 @@ //! pub mod comparison; +pub mod min_max; pub mod ord; pub mod partition; pub mod sort; diff --git a/arrow-ord/src/min_max.rs b/arrow-ord/src/min_max.rs new file mode 100644 index 000000000..1a34e9ddf --- /dev/null +++ b/arrow-ord/src/min_max.rs @@ -0,0 +1,48 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +//! Functions to get min and max across arrays and scalars + +/// Perform min operation on two dynamic [`Array`]s. +/// +/// Only when two arrays are of the same type the comparison is valid. +pub fn min_dyn(left: &dyn Array, right: &dyn ) -> Result<ArrayRef, ArrowArrow> { + unimplemented!() +} + +/// Perform max operation on two dynamic [`Array`]s. +/// +/// Only when two arrays are of the same type the comparison is valid. +pub fn max_dyn(left: &dyn Array, right: &dyn ) -> Result<ArrayRef, ArrowArrow> { + unimplemented!() +} + +/// Perform min operation on a dynamic [`Array`] and a scalar value. +pub fn min_dyn_scalar<T>(left: &dyn Array, right: T) -> Result<ArrayRef, ArrowError> +where + T: num::ToPrimitive + std::fmt::Debug, +{ + unimplemented!() +} + +/// Perform max operation on a dynamic [`Array`] and a scalar value. +pub fn max_dyn_scalar<T>(left: &dyn Array, right: T) -> Result<ArrayRef, ArrowError> +where + T: num::ToPrimitive + std::fmt::Debug, +{ + unimplemented!() +}
