#[cfg(feature = "reducers")] pub mod reducers;
pub struct Reducer<T> {
reduce: fn(&[T], &[T]) -> T,
}
impl<T> Clone for Reducer<T> {
fn clone(&self) -> Self { *self }
}
impl<T> Copy for Reducer<T> {}
impl<T> Reducer<T> {
pub const fn new(reduce: fn(&[T], &[T]) -> T) -> Self { Self { reduce } }
pub fn reduce(self, first: &[T], second: &[T]) -> T { (self.reduce)(first, second) }
}