#[non_exhaustive]pub enum GraphFactorization {
Auto,
Off,
Force,
}Expand description
Structural routing for positive-dimensional sparse persistence.
Every terminal edge belongs to one vertex-biconnected block. Every terminal clique with at least two vertices lies in one such block, and every positive-dimensional cycle splits over the blocks. The engine can therefore compute H0 once on the whole graph and compute H1 and above on the cyclic blocks independently.
The diagram is identical under every setting. The automatic rule uses factorization only when there are at least two cyclic blocks and the largest holds at most nine tenths of their edges. A graph with one dominant block stays on the existing reducer.
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.
Auto
Use the frozen structural rule.
Off
Reduce the whole terminal graph.
Force
Split every terminal graph.
Trait Implementations§
Source§impl Clone for GraphFactorization
impl Clone for GraphFactorization
Source§fn clone(&self) -> GraphFactorization
fn clone(&self) -> GraphFactorization
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for GraphFactorization
Source§impl Debug for GraphFactorization
impl Debug for GraphFactorization
Source§impl Default for GraphFactorization
impl Default for GraphFactorization
Source§fn default() -> GraphFactorization
fn default() -> GraphFactorization
Returns the “default value” for a type. Read more
impl Eq for GraphFactorization
Source§impl PartialEq for GraphFactorization
impl PartialEq for GraphFactorization
impl StructuralPartialEq for GraphFactorization
Auto Trait Implementations§
impl Freeze for GraphFactorization
impl RefUnwindSafe for GraphFactorization
impl Send for GraphFactorization
impl Sync for GraphFactorization
impl Unpin for GraphFactorization
impl UnsafeUnpin for GraphFactorization
impl UnwindSafe for GraphFactorization
Blanket Implementations§
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 more