pub struct CausalGraph { /* private fields */ }Expand description
Causal graph tracking antecedent relationships
Implementations§
Source§impl CausalGraph
impl CausalGraph
Sourcepub fn add_pattern(&self, id: PatternId, timestamp: SubstrateTime)
pub fn add_pattern(&self, id: PatternId, timestamp: SubstrateTime)
Add pattern with timestamp
Sourcepub fn out_degree(&self, pattern: PatternId) -> usize
pub fn out_degree(&self, pattern: PatternId) -> usize
Get out-degree (number of effects)
Sourcepub fn distance(&self, from: PatternId, to: PatternId) -> Option<usize>
pub fn distance(&self, from: PatternId, to: PatternId) -> Option<usize>
Compute shortest path distance between two patterns
Sourcepub fn causal_past(&self, pattern: PatternId) -> Vec<PatternId>
pub fn causal_past(&self, pattern: PatternId) -> Vec<PatternId>
Get all patterns in causal past
Sourcepub fn causal_future(&self, pattern: PatternId) -> Vec<PatternId>
pub fn causal_future(&self, pattern: PatternId) -> Vec<PatternId>
Get all patterns in causal future
Sourcepub fn filter_by_light_cone(
&self,
reference: PatternId,
reference_time: SubstrateTime,
cone_type: CausalConeType,
candidates: &[PatternId],
) -> Vec<PatternId>
pub fn filter_by_light_cone( &self, reference: PatternId, reference_time: SubstrateTime, cone_type: CausalConeType, candidates: &[PatternId], ) -> Vec<PatternId>
Filter patterns by light cone constraint
Sourcepub fn stats(&self) -> CausalGraphStats
pub fn stats(&self) -> CausalGraphStats
Get statistics about the causal graph
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CausalGraph
impl !RefUnwindSafe for CausalGraph
impl Send for CausalGraph
impl Sync for CausalGraph
impl Unpin for CausalGraph
impl !UnwindSafe for CausalGraph
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