Skip to content

Commit a203059

Browse files
authored
implement min_max for runend (#2789)
1 parent 6be61e3 commit a203059

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
use vortex_array::compute::{MinMaxFn, MinMaxResult, min_max};
2+
use vortex_error::VortexResult;
3+
4+
use crate::{RunEndArray, RunEndEncoding};
5+
6+
impl MinMaxFn<&RunEndArray> for RunEndEncoding {
7+
fn min_max(&self, array: &RunEndArray) -> VortexResult<Option<MinMaxResult>> {
8+
min_max(array.values())
9+
}
10+
}

encodings/runend/src/compute/mod.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,15 @@ mod fill_null;
44
pub(crate) mod filter;
55
mod invert;
66
mod is_sorted;
7+
mod min_max;
78
mod scalar_at;
89
mod slice;
910
pub(crate) mod take;
1011
mod take_from;
1112

1213
use vortex_array::compute::{
1314
BinaryNumericFn, CompareFn, FillNullFn, FilterKernelAdapter, InvertFn, IsSortedFn, KernelRef,
14-
ScalarAtFn, SliceFn, TakeFn, TakeFromFn,
15+
MinMaxFn, ScalarAtFn, SliceFn, TakeFn, TakeFromFn,
1516
};
1617
use vortex_array::vtable::ComputeVTable;
1718
use vortex_array::{Array, ArrayComputeImpl};
@@ -58,6 +59,10 @@ impl ComputeVTable for RunEndEncoding {
5859
fn take_from_fn(&self) -> Option<&dyn TakeFromFn<&dyn Array>> {
5960
Some(self)
6061
}
62+
63+
fn min_max_fn(&self) -> Option<&dyn MinMaxFn<&dyn Array>> {
64+
Some(self)
65+
}
6166
}
6267

6368
#[cfg(test)]

0 commit comments

Comments
 (0)