Skip to content

Commit 7a65ca2

Browse files
committed
Reorder kernel dispatch, and have Combined use inner accumulators
Signed-off-by: Nicholas Gates <nick@nickgates.com>
1 parent 04fc7f6 commit 7a65ca2

4 files changed

Lines changed: 312 additions & 53 deletions

File tree

vortex-array/public-api.lock

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ impl<T: vortex_array::aggregate_fn::combined::BinaryCombined> vortex_array::aggr
5252

5353
pub type vortex_array::aggregate_fn::combined::Combined<T>::Options = vortex_array::aggregate_fn::combined::PairOptions<<<T as vortex_array::aggregate_fn::combined::BinaryCombined>::Left as vortex_array::aggregate_fn::AggregateFnVTable>::Options, <<T as vortex_array::aggregate_fn::combined::BinaryCombined>::Right as vortex_array::aggregate_fn::AggregateFnVTable>::Options>
5454

55-
pub type vortex_array::aggregate_fn::combined::Combined<T>::Partial = (<<T as vortex_array::aggregate_fn::combined::BinaryCombined>::Left as vortex_array::aggregate_fn::AggregateFnVTable>::Partial, <<T as vortex_array::aggregate_fn::combined::BinaryCombined>::Right as vortex_array::aggregate_fn::AggregateFnVTable>::Partial)
55+
pub type vortex_array::aggregate_fn::combined::Combined<T>::Partial = (alloc::boxed::Box<dyn vortex_array::aggregate_fn::DynAccumulator>, alloc::boxed::Box<dyn vortex_array::aggregate_fn::DynAccumulator>)
5656

5757
pub fn vortex_array::aggregate_fn::combined::Combined<T>::accumulate(&self, &mut Self::Partial, &vortex_array::Columnar, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
5858

@@ -892,12 +892,20 @@ impl<V: vortex_array::aggregate_fn::AggregateFnVTable> vortex_array::aggregate_f
892892

893893
pub fn vortex_array::aggregate_fn::Accumulator<V>::accumulate(&mut self, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
894894

895+
pub fn vortex_array::aggregate_fn::Accumulator<V>::combine_partials(&mut self, vortex_array::scalar::Scalar) -> vortex_error::VortexResult<()>
896+
897+
pub fn vortex_array::aggregate_fn::Accumulator<V>::final_scalar(&self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
898+
895899
pub fn vortex_array::aggregate_fn::Accumulator<V>::finish(&mut self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
896900

897901
pub fn vortex_array::aggregate_fn::Accumulator<V>::flush(&mut self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
898902

899903
pub fn vortex_array::aggregate_fn::Accumulator<V>::is_saturated(&self) -> bool
900904

905+
pub fn vortex_array::aggregate_fn::Accumulator<V>::partial_scalar(&self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
906+
907+
pub fn vortex_array::aggregate_fn::Accumulator<V>::reset(&mut self)
908+
901909
pub struct vortex_array::aggregate_fn::AggregateFn<V: vortex_array::aggregate_fn::AggregateFnVTable>(_)
902910

903911
impl<V: vortex_array::aggregate_fn::AggregateFnVTable> vortex_array::aggregate_fn::AggregateFn<V>
@@ -1444,7 +1452,7 @@ impl<T: vortex_array::aggregate_fn::combined::BinaryCombined> vortex_array::aggr
14441452

14451453
pub type vortex_array::aggregate_fn::combined::Combined<T>::Options = vortex_array::aggregate_fn::combined::PairOptions<<<T as vortex_array::aggregate_fn::combined::BinaryCombined>::Left as vortex_array::aggregate_fn::AggregateFnVTable>::Options, <<T as vortex_array::aggregate_fn::combined::BinaryCombined>::Right as vortex_array::aggregate_fn::AggregateFnVTable>::Options>
14461454

1447-
pub type vortex_array::aggregate_fn::combined::Combined<T>::Partial = (<<T as vortex_array::aggregate_fn::combined::BinaryCombined>::Left as vortex_array::aggregate_fn::AggregateFnVTable>::Partial, <<T as vortex_array::aggregate_fn::combined::BinaryCombined>::Right as vortex_array::aggregate_fn::AggregateFnVTable>::Partial)
1455+
pub type vortex_array::aggregate_fn::combined::Combined<T>::Partial = (alloc::boxed::Box<dyn vortex_array::aggregate_fn::DynAccumulator>, alloc::boxed::Box<dyn vortex_array::aggregate_fn::DynAccumulator>)
14481456

14491457
pub fn vortex_array::aggregate_fn::combined::Combined<T>::accumulate(&self, &mut Self::Partial, &vortex_array::Columnar, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
14501458

@@ -1488,22 +1496,38 @@ pub trait vortex_array::aggregate_fn::DynAccumulator: 'static + core::marker::Se
14881496

14891497
pub fn vortex_array::aggregate_fn::DynAccumulator::accumulate(&mut self, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
14901498

1499+
pub fn vortex_array::aggregate_fn::DynAccumulator::combine_partials(&mut self, vortex_array::scalar::Scalar) -> vortex_error::VortexResult<()>
1500+
1501+
pub fn vortex_array::aggregate_fn::DynAccumulator::final_scalar(&self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
1502+
14911503
pub fn vortex_array::aggregate_fn::DynAccumulator::finish(&mut self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
14921504

14931505
pub fn vortex_array::aggregate_fn::DynAccumulator::flush(&mut self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
14941506

14951507
pub fn vortex_array::aggregate_fn::DynAccumulator::is_saturated(&self) -> bool
14961508

1509+
pub fn vortex_array::aggregate_fn::DynAccumulator::partial_scalar(&self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
1510+
1511+
pub fn vortex_array::aggregate_fn::DynAccumulator::reset(&mut self)
1512+
14971513
impl<V: vortex_array::aggregate_fn::AggregateFnVTable> vortex_array::aggregate_fn::DynAccumulator for vortex_array::aggregate_fn::Accumulator<V>
14981514

14991515
pub fn vortex_array::aggregate_fn::Accumulator<V>::accumulate(&mut self, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>
15001516

1517+
pub fn vortex_array::aggregate_fn::Accumulator<V>::combine_partials(&mut self, vortex_array::scalar::Scalar) -> vortex_error::VortexResult<()>
1518+
1519+
pub fn vortex_array::aggregate_fn::Accumulator<V>::final_scalar(&self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
1520+
15011521
pub fn vortex_array::aggregate_fn::Accumulator<V>::finish(&mut self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
15021522

15031523
pub fn vortex_array::aggregate_fn::Accumulator<V>::flush(&mut self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
15041524

15051525
pub fn vortex_array::aggregate_fn::Accumulator<V>::is_saturated(&self) -> bool
15061526

1527+
pub fn vortex_array::aggregate_fn::Accumulator<V>::partial_scalar(&self) -> vortex_error::VortexResult<vortex_array::scalar::Scalar>
1528+
1529+
pub fn vortex_array::aggregate_fn::Accumulator<V>::reset(&mut self)
1530+
15071531
pub trait vortex_array::aggregate_fn::DynGroupedAccumulator: 'static + core::marker::Send
15081532

15091533
pub fn vortex_array::aggregate_fn::DynGroupedAccumulator::accumulate_list(&mut self, &vortex_array::ArrayRef, &mut vortex_array::ExecutionCtx) -> vortex_error::VortexResult<()>

0 commit comments

Comments
 (0)