mod array;
mod compress;
mod compute;
mod kernel;
mod rules;
pub use array::Sequence;
pub use array::SequenceArray;
pub use array::SequenceData;
pub use array::SequenceDataParts;
pub use compress::sequence_encode;
use vortex_array::aggregate_fn::AggregateFnVTable;
use vortex_array::aggregate_fn::fns::is_sorted::IsSorted;
use vortex_array::aggregate_fn::fns::min_max::MinMax;
use vortex_array::aggregate_fn::session::AggregateFnSessionExt;
use vortex_array::session::ArraySessionExt;
use vortex_session::VortexSession;
pub fn initialize(session: &VortexSession) {
session.arrays().register(Sequence);
session.aggregate_fns().register_aggregate_kernel(
Sequence::ID,
Some(MinMax.id()),
&compute::min_max::SequenceMinMaxKernel,
);
session.aggregate_fns().register_aggregate_kernel(
Sequence::ID,
Some(IsSorted.id()),
&compute::is_sorted::SequenceIsSortedKernel,
);
}