pub struct ProgramArtifact { /* private fields */ }Expand description
Input binding, articulation program, and nested atom atlases.
Implementations§
Source§impl ProgramArtifact
impl ProgramArtifact
Sourcepub fn from_program(
program: &PersistenceProgram,
) -> Result<Self, ProgramArtifactError>
pub fn from_program( program: &PersistenceProgram, ) -> Result<Self, ProgramArtifactError>
Capture the current state of a compiled program.
Persistence reduction does not run. The artifact binds the graph most recently supplied to the program.
Sourcepub fn build(
input: &SparseDistanceMatrix,
params: &RipsParams,
certificate_limits: CertificateLimits,
) -> Result<Self, ProgramArtifactError>
pub fn build( input: &SparseDistanceMatrix, params: &RipsParams, certificate_limits: CertificateLimits, ) -> Result<Self, ProgramArtifactError>
Produce a compositional program artifact.
Sourcepub fn compile(
input: &SparseDistanceMatrix,
params: &RipsParams,
certificate_limits: CertificateLimits,
) -> Result<(Self, PersistenceProgram), ProgramArtifactError>
pub fn compile( input: &SparseDistanceMatrix, params: &RipsParams, certificate_limits: CertificateLimits, ) -> Result<(Self, PersistenceProgram), ProgramArtifactError>
Produce an artifact and retain its ready-to-update program.
Sourcepub fn vertex_count(&self) -> usize
pub fn vertex_count(&self) -> usize
Number of vertices bound to the program.
Sourcepub fn atoms(&self) -> &[ProgramAtomArtifact]
pub fn atoms(&self) -> &[ProgramAtomArtifact]
Cyclic atoms and their nested proofs.
Sourcepub fn encode(&self) -> Result<Vec<u8>, ProgramArtifactError>
pub fn encode(&self) -> Result<Vec<u8>, ProgramArtifactError>
Encode the canonical HOLOSPRG version 1 envelope.
Sourcepub fn decode(
bytes: &[u8],
limits: ProgramDecodeLimits,
certificate_limits: CertificateLimits,
) -> Result<Self, ProgramArtifactError>
pub fn decode( bytes: &[u8], limits: ProgramDecodeLimits, certificate_limits: CertificateLimits, ) -> Result<Self, ProgramArtifactError>
Decode and structurally validate a bounded program envelope.
Sourcepub fn verify(
&self,
input: &SparseDistanceMatrix,
certificate_limits: CertificateLimits,
) -> Result<PersistenceProgram, ProgramArtifactError>
pub fn verify( &self, input: &SparseDistanceMatrix, certificate_limits: CertificateLimits, ) -> Result<PersistenceProgram, ProgramArtifactError>
Verify all atom proofs and reconstruct the program.
Trait Implementations§
Source§impl Clone for ProgramArtifact
impl Clone for ProgramArtifact
Source§fn clone(&self) -> ProgramArtifact
fn clone(&self) -> ProgramArtifact
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 moreAuto Trait Implementations§
impl Freeze for ProgramArtifact
impl RefUnwindSafe for ProgramArtifact
impl Send for ProgramArtifact
impl Sync for ProgramArtifact
impl Unpin for ProgramArtifact
impl UnsafeUnpin for ProgramArtifact
impl UnwindSafe for ProgramArtifact
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<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