Skip to content

Commit c48cfdd

Browse files
committed
MinMaxAggregateFn
Signed-off-by: Nicholas Gates <nick@nickgates.com>
1 parent fb87092 commit c48cfdd

52 files changed

Lines changed: 903 additions & 1385 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

encodings/runend/public-api.lock

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ pub fn vortex_runend::RunEnd::is_sorted(&self, array: &vortex_runend::RunEndArra
4444

4545
pub fn vortex_runend::RunEnd::is_strict_sorted(&self, array: &vortex_runend::RunEndArray) -> vortex_error::VortexResult<core::option::Option<bool>>
4646

47-
impl vortex_array::compute::min_max::MinMaxKernel for vortex_runend::RunEnd
48-
49-
pub fn vortex_runend::RunEnd::min_max(&self, array: &vortex_runend::RunEndArray) -> vortex_error::VortexResult<core::option::Option<vortex_array::compute::min_max::MinMaxResult>>
50-
5147
impl vortex_array::scalar_fn::fns::binary::compare::CompareKernel for vortex_runend::RunEnd
5248

5349
pub fn vortex_runend::RunEnd::compare(lhs: &vortex_runend::RunEndArray, rhs: &vortex_array::array::ArrayRef, operator: vortex_array::scalar_fn::fns::operators::CompareOperator, ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>

encodings/runend/src/compute/min_max.rs

Lines changed: 0 additions & 20 deletions
This file was deleted.

encodings/runend/src/compute/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ mod fill_null;
77
pub(crate) mod filter;
88
mod is_constant;
99
mod is_sorted;
10-
mod min_max;
1110
pub(crate) mod take;
1211
pub(crate) mod take_from;
1312

encodings/sequence/public-api.lock

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ pub fn vortex_sequence::Sequence::is_sorted(&self, array: &vortex_sequence::Sequ
2828

2929
pub fn vortex_sequence::Sequence::is_strict_sorted(&self, array: &vortex_sequence::SequenceArray) -> vortex_error::VortexResult<core::option::Option<bool>>
3030

31-
impl vortex_array::compute::min_max::MinMaxKernel for vortex_sequence::Sequence
32-
33-
pub fn vortex_sequence::Sequence::min_max(&self, array: &vortex_sequence::SequenceArray) -> vortex_error::VortexResult<core::option::Option<vortex_array::compute::min_max::MinMaxResult>>
34-
3531
impl vortex_array::scalar_fn::fns::binary::compare::CompareKernel for vortex_sequence::Sequence
3632

3733
pub fn vortex_sequence::Sequence::compare(lhs: &vortex_sequence::SequenceArray, rhs: &vortex_array::array::ArrayRef, operator: vortex_array::scalar_fn::fns::operators::CompareOperator, _ctx: &mut vortex_array::executor::ExecutionCtx) -> vortex_error::VortexResult<core::option::Option<vortex_array::array::ArrayRef>>

encodings/sequence/src/compute/min_max.rs

Lines changed: 0 additions & 31 deletions
This file was deleted.

encodings/sequence/src/compute/mod.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ pub(crate) mod compare;
66
mod filter;
77
mod is_sorted;
88
mod list_contains;
9-
mod min_max;
109
mod slice;
1110
mod take;
1211

fuzz/src/array/min_max.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,16 @@
22
// SPDX-FileCopyrightText: Copyright the Vortex contributors
33

44
use vortex_array::Canonical;
5+
use vortex_array::ExecutionCtx;
56
use vortex_array::IntoArray as _;
6-
use vortex_array::compute::MinMaxResult;
7-
use vortex_array::compute::min_max;
7+
use vortex_array::aggregate_fn::fns::min_max::MinMaxResult;
8+
use vortex_array::aggregate_fn::fns::min_max::min_max;
89
use vortex_error::VortexResult;
910

1011
/// Compute min_max on the canonical form of the array to get a consistent baseline.
11-
pub fn min_max_canonical_array(canonical: Canonical) -> VortexResult<Option<MinMaxResult>> {
12-
// TODO(joe): replace with baseline not using canonical
13-
min_max(&canonical.into_array())
12+
pub fn min_max_canonical_array(
13+
canonical: Canonical,
14+
ctx: &mut ExecutionCtx,
15+
) -> VortexResult<Option<MinMaxResult>> {
16+
min_max(&canonical.into_array(), ctx)
1417
}

fuzz/src/array/mod.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,13 @@ use vortex_array::ArrayRef;
4343
use vortex_array::DynArray;
4444
use vortex_array::IntoArray;
4545
use vortex_array::VortexSessionExecute;
46+
use vortex_array::aggregate_fn::fns::min_max::MinMaxResult;
47+
use vortex_array::aggregate_fn::fns::min_max::min_max;
4648
use vortex_array::aggregate_fn::fns::sum::sum;
4749
use vortex_array::arrays::ConstantArray;
4850
use vortex_array::arrays::PrimitiveArray;
4951
use vortex_array::arrays::arbitrary::ArbitraryArray;
5052
use vortex_array::builtins::ArrayBuiltins;
51-
use vortex_array::compute::MinMaxResult;
52-
use vortex_array::compute::min_max;
5353
use vortex_array::dtype::DType;
5454
use vortex_array::dtype::Nullability;
5555
use vortex_array::scalar::Scalar;
@@ -345,6 +345,7 @@ impl<'a> Arbitrary<'a> for FuzzArrayAction {
345345
current_array
346346
.to_canonical()
347347
.vortex_expect("to_canonical should succeed in fuzz test"),
348+
&mut ctx,
348349
)
349350
.vortex_expect("min_max_canonical_array should succeed in fuzz test");
350351
(Action::MinMax, ExpectedValue::MinMax(min_max_result))
@@ -652,7 +653,7 @@ pub fn run_fuzz_action(fuzz_action: FuzzArrayAction) -> VortexFuzzResult<bool> {
652653
assert_scalar_eq(&expected.scalar(), &sum_result, i)?;
653654
}
654655
Action::MinMax => {
655-
let min_max_result = min_max(&current_array)
656+
let min_max_result = min_max(&current_array, &mut ctx)
656657
.vortex_expect("min_max operation should succeed in fuzz test");
657658
assert_min_max_eq(&expected.min_max(), &min_max_result, i)?;
658659
}

fuzz/src/error.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use std::fmt::Formatter;
1212

1313
use vortex_array::ArrayRef;
1414
use vortex_array::DynArray;
15-
use vortex_array::compute::MinMaxResult;
15+
use vortex_array::aggregate_fn::fns::min_max::MinMaxResult;
1616
use vortex_array::scalar::Scalar;
1717
use vortex_array::search_sorted::SearchResult;
1818
use vortex_array::search_sorted::SearchSortedSide;

0 commit comments

Comments
 (0)