You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@arrow.apache.org by ji...@apache.org on 2023/06/03 01:22:56 UTC
[arrow-rs] 01/01: add min and max kernel
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 <ji...@hey.com>
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!()
+}