vortex_array::array

Struct SparseArray

Source
pub struct SparseArray(/* private fields */);

Implementations§

Source§

impl SparseArray

Source

pub fn try_new( indices: ArrayData, values: ArrayData, len: usize, fill_value: Scalar, ) -> VortexResult<Self>

Source

pub fn indices_offset(&self) -> usize

Source

pub fn values(&self) -> ArrayData

Source

pub fn indices(&self) -> ArrayData

Source

pub fn fill_scalar(&self) -> Scalar

Source

pub fn resolved_indices(&self) -> Vec<usize>

Return indices as a vector of usize with the indices_offset applied.

Source

pub fn min_index(&self) -> Option<usize>

Return the minimum index if indices are present.

If this sparse array has no indices (i.e. all elements are equal to fill_value) then it returns None.

Source

pub fn max_index(&self) -> Option<usize>

Return the maximum index if indices are present.

If this sparse array has no indices (i.e. all elements are equal to fill_value) then it returns None.

Trait Implementations§

Source§

impl ArrayVariants for SparseArray

Sparse arrays support all DTypes

Source§

impl AsRef<ArrayData> for SparseArray

Source§

fn as_ref(&self) -> &ArrayData

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl BoolArrayTrait for SparseArray

Source§

fn invert(&self) -> VortexResult<ArrayData>

Return a new inverted version of this array. Read more
Source§

impl Clone for SparseArray

Source§

fn clone(&self) -> SparseArray

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SparseArray

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl ExtensionArrayTrait for SparseArray

Source§

fn storage_data(&self) -> ArrayData

Returns the underlying ArrayData, without the ExtDType.
Source§

fn ext_dtype(&self) -> &Arc<ExtDType>

Returns the extension logical DType.
Source§

impl FilterFn<SparseArray> for SparseEncoding

Source§

fn filter( &self, array: &SparseArray, mask: FilterMask, ) -> VortexResult<ArrayData>

Filter an array by the provided predicate.
Source§

impl IntoArrayData for SparseArray

Source§

impl IntoCanonical for SparseArray

Source§

impl PrimitiveArrayTrait for SparseArray

Source§

fn ptype(&self) -> PType

Source§

impl ScalarAtFn<SparseArray> for SparseEncoding

Source§

fn scalar_at(&self, array: &SparseArray, index: usize) -> VortexResult<Scalar>

Source§

impl SearchSortedFn<SparseArray> for SparseEncoding

Source§

fn search_sorted( &self, array: &SparseArray, value: &Scalar, side: SearchSortedSide, ) -> VortexResult<SearchResult>

Source§

fn search_sorted_usize( &self, array: &Array, value: usize, side: SearchSortedSide, ) -> VortexResult<SearchResult>

Source§

fn search_sorted_many( &self, array: &Array, values: &[Scalar], side: SearchSortedSide, ) -> VortexResult<Vec<SearchResult>>

Bulk search for many values.
Source§

fn search_sorted_usize_many( &self, array: &Array, values: &[usize], side: SearchSortedSide, ) -> VortexResult<Vec<SearchResult>>

Source§

impl SliceFn<SparseArray> for SparseEncoding

Source§

fn slice( &self, array: &SparseArray, start: usize, stop: usize, ) -> VortexResult<ArrayData>

Return a zero-copy slice of an array, between start (inclusive) and end (exclusive). If start >= stop, returns an empty array of the same type as self. Assumes that start or stop are out of bounds, may panic otherwise.
Source§

impl StatisticsVTable<SparseArray> for SparseEncoding

Source§

fn compute_statistics( &self, array: &SparseArray, stat: Stat, ) -> VortexResult<StatsSet>

Compute the requested statistic. Can return additional stats.
Source§

impl StructArrayTrait for SparseArray

Source§

fn field(&self, idx: usize) -> Option<ArrayData>

Return a field’s array by index
Source§

fn project(&self, projection: &[Field]) -> VortexResult<ArrayData>

Source§

fn names(&self) -> &FieldNames

Source§

fn dtypes(&self) -> &[DType]

Source§

fn nfields(&self) -> usize

Source§

fn field_by_name(&self, name: &str) -> Option<ArrayData>

Return a field’s array by name
Source§

impl TakeFn<SparseArray> for SparseEncoding

Source§

fn take( &self, array: &SparseArray, indices: &ArrayData, options: TakeOptions, ) -> VortexResult<ArrayData>

Source§

impl<'a> TryFrom<&'a ArrayData> for &'a SparseArray

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(data: &'a ArrayData) -> VortexResult<Self>

Performs the conversion.
Source§

impl TryFrom<ArrayData> for SparseArray

Source§

type Error = VortexError

The type returned in the event of a conversion error.
Source§

fn try_from(data: ArrayData) -> VortexResult<Self>

Performs the conversion.
Source§

impl ValidityVTable<SparseArray> for SparseEncoding

Source§

impl VisitorVTable<SparseArray> for SparseEncoding

Source§

fn accept( &self, array: &SparseArray, visitor: &mut dyn ArrayVisitor, ) -> VortexResult<()>

Source§

impl ArrayTrait for SparseArray

Source§

impl BinaryArrayTrait for SparseArray

Source§

impl ListArrayTrait for SparseArray

Source§

impl NullArrayTrait for SparseArray

Source§

impl Utf8ArrayTrait for SparseArray

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArrayDType for T
where T: AsRef<ArrayData>,

Source§

fn dtype(&self) -> &DType

Source§

impl<T> ArrayEncodingRef for T
where T: AsRef<ArrayData>,

Source§

fn encoding(&self) -> &'static dyn EncodingVTable

Source§

impl<T> ArrayLen for T
where T: AsRef<ArrayData>,

Source§

fn len(&self) -> usize

Source§

fn is_empty(&self) -> bool

Source§

impl<A> ArrayNBytes for A
where A: AsRef<ArrayData>,

Source§

fn nbytes(&self) -> usize

Total size of the array in bytes, including all children and buffers.
Source§

impl<T> ArrayStatistics for T
where T: AsRef<ArrayData>,

Source§

fn statistics(&self) -> &dyn Statistics

Source§

fn inherit_statistics(&self, parent: &dyn Statistics)

Source§

impl<A> ArrayValidity for A
where A: AsRef<ArrayData>,

Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoArrayVariant for T
where T: IntoCanonical,

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<A> ToArrayData for A
where A: AsRef<ArrayData>,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> MaybeSendSync for T