use std::ops::Range;
use vortex_array::ArrayRef;
use vortex_array::IntoArray;
use vortex_array::arrays::slice::SliceReduce;
use vortex_error::VortexResult;
use crate::Sequence;
use crate::SequenceArray;
impl SliceReduce for Sequence {
fn slice(array: &Self::Array, range: Range<usize>) -> VortexResult<Option<ArrayRef>> {
Ok(Some(
unsafe {
SequenceArray::new_unchecked(
array.index_value(range.start),
array.multiplier(),
array.ptype(),
array.dtype().nullability(),
range.len(),
)
}
.into_array(),
))
}
}