#[non_exhaustive]pub enum SparseFormat {
Coo,
Csr,
Csc,
}Expand description
Sparse matrix storage format
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Coo
Coordinate format (COO)
Stores explicit (row, col, value) triplets. Best for: construction, format conversion, random access insertion Storage: O(3 * nnz)
Csr
Compressed Sparse Row (CSR)
Row pointers + column indices + values. Best for: row slicing, SpMV, most sparse operations Storage: O(2 * nnz + nrows + 1)
Csc
Compressed Sparse Column (CSC)
Column pointers + row indices + values. Best for: column slicing, transposed operations Storage: O(2 * nnz + ncols + 1)
Implementations§
Source§impl SparseFormat
impl SparseFormat
Sourcepub fn is_row_major(&self) -> bool
pub fn is_row_major(&self) -> bool
Returns true if format is efficient for row operations
Sourcepub fn is_col_major(&self) -> bool
pub fn is_col_major(&self) -> bool
Returns true if format is efficient for column operations
Trait Implementations§
Source§impl Clone for SparseFormat
impl Clone for SparseFormat
Source§fn clone(&self) -> SparseFormat
fn clone(&self) -> SparseFormat
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SparseFormat
impl Debug for SparseFormat
Source§impl Display for SparseFormat
impl Display for SparseFormat
Source§impl Hash for SparseFormat
impl Hash for SparseFormat
Source§impl PartialEq for SparseFormat
impl PartialEq for SparseFormat
impl Copy for SparseFormat
impl Eq for SparseFormat
impl StructuralPartialEq for SparseFormat
Auto Trait Implementations§
impl Freeze for SparseFormat
impl RefUnwindSafe for SparseFormat
impl Send for SparseFormat
impl Sync for SparseFormat
impl Unpin for SparseFormat
impl UnsafeUnpin for SparseFormat
impl UnwindSafe for SparseFormat
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.