pub struct PersistentClassArtifact { /* private fields */ }Expand description
A persistent H1 class with a geometric cycle witness.
The source graph, threshold, class, critical pair, and geometric terms
are private so callers cannot construct a claim without the producer
checks. Use Self::build.
Implementations§
Source§impl PersistentClassArtifact
impl PersistentClassArtifact
Sourcepub fn build(
input: &SparseDistanceMatrix,
params: &RipsParams,
space_index: usize,
basis_index: usize,
limits: CertificateLimits,
) -> Result<Self, CertificateError>
pub fn build( input: &SparseDistanceMatrix, params: &RipsParams, space_index: usize, basis_index: usize, limits: CertificateLimits, ) -> Result<Self, CertificateError>
Build an artifact for one H1 class-space and basis position.
space_index addresses the interval-ordered class spaces returned by
the native class producer. basis_index addresses that space’s
canonical basis. The class producer always runs its H1 profile with
max_dim set to one. Edge collapse is rejected because the artifact
binds the complete supplied weighted graph.
Source§impl PersistentClassArtifact
impl PersistentClassArtifact
Sourcepub fn source(&self) -> &SparseDistanceMatrix
pub fn source(&self) -> &SparseDistanceMatrix
The complete weighted source graph bound to this artifact.
Sourcepub fn class(&self) -> &PersistentClass
pub fn class(&self) -> &PersistentClass
The selected canonical persistent class.
Sourcepub fn critical_pair(&self) -> &CriticalPair
pub fn critical_pair(&self) -> &CriticalPair
The critical pair selected from the class interval group.
Sourcepub fn cycle(&self) -> &[PersistenceCycleTerm]
pub fn cycle(&self) -> &[PersistenceCycleTerm]
The normalized geometric cycle in ascending edge order.
Sourcepub fn bounding_chain(&self) -> &[PersistenceTriangleTerm]
pub fn bounding_chain(&self) -> &[PersistenceTriangleTerm]
The finite-death bounding chain in ascending triangle order.
Source§impl PersistentClassArtifact
Encode the artifact payload followed by its SHA-256 digest.
impl PersistentClassArtifact
Encode the artifact payload followed by its SHA-256 digest.
Sourcepub fn encode(
&self,
limits: CertificateLimits,
) -> Result<Vec<u8>, CertificateError>
pub fn encode( &self, limits: CertificateLimits, ) -> Result<Vec<u8>, CertificateError>
Encode canonical HOLOSPC version 1 bytes.
Resource limits are checked for every call. Semantic fields were validated when the private artifact was built.
Trait Implementations§
Source§impl Clone for PersistentClassArtifact
impl Clone for PersistentClassArtifact
Source§fn clone(&self) -> PersistentClassArtifact
fn clone(&self) -> PersistentClassArtifact
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for PersistentClassArtifact
impl RefUnwindSafe for PersistentClassArtifact
impl Send for PersistentClassArtifact
impl Sync for PersistentClassArtifact
impl Unpin for PersistentClassArtifact
impl UnsafeUnpin for PersistentClassArtifact
impl UnwindSafe for PersistentClassArtifact
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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> ⓘ
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> ⓘ
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