pub use boolean::{and, or, AndFn, OrFn};
pub use compare::{compare, scalar_cmp, CompareFn, MaybeCompareFn, Operator};
pub use filter::{filter, FilterFn};
pub use search_sorted::*;
pub use slice::{slice, SliceFn};
pub use take::{take, TakeFn};
use unary::{CastFn, FillForwardFn, ScalarAtFn, SubtractScalarFn};
use vortex_error::VortexResult;
use crate::Array;
mod boolean;
mod compare;
mod filter;
mod search_sorted;
mod slice;
mod take;
pub mod unary;
pub trait ArrayCompute {
fn cast(&self) -> Option<&dyn CastFn> {
None
}
fn compare(&self, _other: &Array, _operator: Operator) -> Option<VortexResult<Array>> {
None
}
fn fill_forward(&self) -> Option<&dyn FillForwardFn> {
None
}
fn filter(&self) -> Option<&dyn FilterFn> {
None
}
fn scalar_at(&self) -> Option<&dyn ScalarAtFn> {
None
}
fn subtract_scalar(&self) -> Option<&dyn SubtractScalarFn> {
None
}
fn search_sorted(&self) -> Option<&dyn SearchSortedFn> {
None
}
fn slice(&self) -> Option<&dyn SliceFn> {
None
}
fn take(&self) -> Option<&dyn TakeFn> {
None
}
fn and(&self) -> Option<&dyn AndFn> {
None
}
fn or(&self) -> Option<&dyn OrFn> {
None
}
}