StochasticProcessTree

Struct StochasticProcessTree 

Source
pub struct StochasticProcessTree {
    pub activity_key: ActivityKey,
    pub tree: Vec<Node>,
    pub transition2node: Vec<usize>,
    pub weights: Vec<Fraction>,
    pub termination_weight: Fraction,
}

Fields§

§activity_key: ActivityKey§tree: Vec<Node>§transition2node: Vec<usize>§weights: Vec<Fraction>§termination_weight: Fraction

Implementations§

Source§

impl StochasticProcessTree

Source

pub fn node_to_lpn( &self, node: usize, net: &mut LabelledPetriNet, translator: &ActivityKeyTranslator, source: usize, sink: usize, ) -> Result<usize>

Source§

impl StochasticProcessTree

Source

pub fn get_number_of_nodes(&self) -> usize

Source

pub fn get_node(&self, node: usize) -> Option<&Node>

Source

pub fn root(&self) -> usize

Source

pub fn get_node_of_transition( &self, transition: TransitionIndex, ) -> Result<&Node>

Source

pub fn get_parent(&self, node: usize) -> Option<(usize, usize)>

Returns the parent of node. Notice that this is an expensive operation; avoid if possible.

@param node @return The parent of node, and the rank of the child

Source

pub fn get_child_rank_with( &self, parent: usize, grand_child: usize, ) -> Option<usize>

@param parent @param grandChild @return The number of the child within parent that contains grandChild. If grandChild is not a child of parent, will return -1.

Source

pub fn get_children(&self, node: usize) -> StochasticChildrenIterator<'_>

Source

pub fn get_parents(&self, node: usize) -> StochasticParentsIterator<'_>

Source

pub fn get_descendants(&self, node: usize) -> &[Node]

Source

pub fn is_parent_of(&self, parent: usize, child: usize) -> bool

@param parent @param child @return Whether the child is a direct or indirect child of parent.

Source

pub fn traverse(&self, node: usize) -> usize

Find the next node of this node: the next sibling, and if that is not available, the next sibling up the tree. May return a non-existing node if there is no sibling.

Source

pub fn get_child(&self, parent: usize, child_rank: usize) -> usize

Source

pub fn get_number_of_children(&self, parent: usize) -> Option<usize>

Source

pub fn node_to_transition(&self, node: usize) -> Option<usize>

Source

pub fn import_as_labelled_petri_net( reader: &mut dyn BufRead, ) -> Result<EbiObject>

Source§

impl StochasticProcessTree

Source

pub fn node_to_string( &self, indent: usize, node: usize, f: &mut Formatter<'_>, ) -> Result<usize>

Source

pub fn node_to_dot( &self, graph: &mut VisualGraph, node: usize, entry: &NodeHandle, exit: &NodeHandle, ) -> usize

Trait Implementations§

Source§

impl Clone for StochasticProcessTree

Source§

fn clone(&self) -> StochasticProcessTree

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for StochasticProcessTree

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for StochasticProcessTree

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Exportable for StochasticProcessTree

Source§

fn export_from_object(object: EbiObject, f: &mut dyn Write) -> Result<()>

Source§

fn export(&self, f: &mut dyn Write) -> Result<()>

Source§

impl From<(ActivityKey, Vec<Node>, Vec<FractionEnum>, FractionEnum)> for StochasticProcessTree

Source§

fn from(value: (ActivityKey, Vec<Node>, Vec<Fraction>, Fraction)) -> Self

Converts to this type from the input type.
Source§

impl From<(ProcessTree, Vec<FractionEnum>, FractionEnum)> for StochasticProcessTree

Source§

fn from(value: (ProcessTree, Vec<Fraction>, Fraction)) -> Self

Converts to this type from the input type.
Source§

impl From<StochasticProcessTree> for LabelledPetriNet

Source§

fn from(value: StochasticProcessTree) -> Self

Converts to this type from the input type.
Source§

impl From<StochasticProcessTree> for LolaNet

Source§

fn from(value: StochasticProcessTree) -> Self

Converts to this type from the input type.
Source§

impl From<StochasticProcessTree> for ProcessTree

Source§

fn from(value: StochasticProcessTree) -> Self

Converts to this type from the input type.
Source§

impl FromStr for StochasticProcessTree

Source§

type Err = Error

The associated error which can be returned from parsing.
Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Parses a string s to return a value of this type. Read more
Source§

impl Graphable for StochasticProcessTree

Source§

impl HasActivityKey for StochasticProcessTree

Source§

impl Importable for StochasticProcessTree

Source§

fn import_as_object(reader: &mut dyn BufRead) -> Result<EbiObject>

Source§

fn import(reader: &mut dyn BufRead) -> Result<Self>
where Self: Sized,

Source§

impl Infoable for StochasticProcessTree

Source§

fn info(&self, f: &mut impl Write) -> Result<()>

Source§

impl TranslateActivityKey for StochasticProcessTree

Source§

fn translate_using_activity_key(&mut self, to_activity_key: &mut ActivityKey)

Change the activity key of this object, by translating all mentions of activities to the new activity key (which will be updated with activity labels it did not have yet.). This is a potentially expensive operation. If only a part of the activities will be used, then consider using an ActivityKeyTranslator directly. The activity key of this object will be updated too, so the activity keys will be equivalent afterwards.
Source§

impl TryFrom<StochasticProcessTree> for PetriNet

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: StochasticProcessTree) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<StochasticProcessTree> for PetriNetMarkupLanguage

Source§

type Error = Error

The type returned in the event of a conversion error.
Source§

fn try_from(value: StochasticProcessTree) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T, U> ExactFrom<T> for U
where U: TryFrom<T>,

Source§

fn exact_from(value: T) -> U

Source§

impl<T, U> ExactInto<U> for T
where U: ExactFrom<T>,

Source§

fn exact_into(self) -> U

Source§

impl<T> Finish for T

Source§

fn finish(self)

Does nothing but move self, equivalent to drop.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T, U> OverflowingInto<U> for T
where U: OverflowingFrom<T>,

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> RoundingInto<U> for T
where U: RoundingFrom<T>,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> SaturatingInto<U> for T
where U: SaturatingFrom<T>,

Source§

impl<T> ToDebugString for T
where T: Debug,

Source§

fn to_debug_string(&self) -> String

Returns the String produced by Ts Debug implementation.

§Examples
use malachite_base::strings::ToDebugString;

assert_eq!([1, 2, 3].to_debug_string(), "[1, 2, 3]");
assert_eq!(
    [vec![2, 3], vec![], vec![4]].to_debug_string(),
    "[[2, 3], [], [4]]"
);
assert_eq!(Some(5).to_debug_string(), "Some(5)");
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToPDF for T
where T: ToSVG,

Source§

impl<T> ToSVG for T
where T: Graphable,

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T, U> WrappingInto<U> for T
where U: WrappingFrom<T>,

Source§

fn wrapping_into(self) -> U