pub struct EventSkippingAlgorithm {}
Trait Implementations§
source§impl<'p, O: Scenario<M, G>, R: Reporter, P: LocalPartition<'p, R>, M: MathsCore, G: SplittableRng<M>> Algorithm<'p, M, G, O, R, P> for EventSkippingAlgorithmwhere
O::LineageStore<GillespieLineageStore<M, O::Habitat>>: GloballyCoherentLineageStore<M, O::Habitat>,
O::DispersalSampler: SeparableDispersalSampler<M, O::Habitat, G>,
impl<'p, O: Scenario<M, G>, R: Reporter, P: LocalPartition<'p, R>, M: MathsCore, G: SplittableRng<M>> Algorithm<'p, M, G, O, R, P> for EventSkippingAlgorithmwhere
O::LineageStore<GillespieLineageStore<M, O::Habitat>>: GloballyCoherentLineageStore<M, O::Habitat>,
O::DispersalSampler: SeparableDispersalSampler<M, O::Habitat, G>,
source§fn resume_and_simulate<I: Iterator<Item = u64>, L: ExactSizeIterator<Item = Lineage>>(
args: Self::Arguments,
rng: G,
scenario: ScenarioCogs<M, G, O>,
pre_sampler: OriginPreSampler<M, I>,
lineages: L,
resume_after: Option<NonNegativeF64>,
pause_before: Option<NonNegativeF64>,
local_partition: &mut P
) -> Result<SimulationOutcome<M, G>, ResumeError<Self::Error>>
fn resume_and_simulate<I: Iterator<Item = u64>, L: ExactSizeIterator<Item = Lineage>>( args: Self::Arguments, rng: G, scenario: ScenarioCogs<M, G, O>, pre_sampler: OriginPreSampler<M, I>, lineages: L, resume_after: Option<NonNegativeF64>, pause_before: Option<NonNegativeF64>, local_partition: &mut P ) -> Result<SimulationOutcome<M, G>, ResumeError<Self::Error>>
§Errors
Returns a ContinueError::Sample
if initialising the resuming
simulation failed
source§fn fixup_for_restart<I: Iterator<Item = u64>, L: ExactSizeIterator<Item = Lineage>>(
args: Self::Arguments,
rng: G,
scenario: ScenarioCogs<M, G, O>,
pre_sampler: OriginPreSampler<M, I>,
lineages: L,
restart_at: PositiveF64,
fixup_strategy: RestartFixUpStrategy,
local_partition: &mut P
) -> Result<SimulationOutcome<M, G>, ResumeError<Self::Error>>
fn fixup_for_restart<I: Iterator<Item = u64>, L: ExactSizeIterator<Item = Lineage>>( args: Self::Arguments, rng: G, scenario: ScenarioCogs<M, G, O>, pre_sampler: OriginPreSampler<M, I>, lineages: L, restart_at: PositiveF64, fixup_strategy: RestartFixUpStrategy, local_partition: &mut P ) -> Result<SimulationOutcome<M, G>, ResumeError<Self::Error>>
§Errors
Returns a ContinueError<Self::Error>
if fixing up the restarting
simulation (incl. running the algorithm) failed
type LineageStore = <O as Scenario<M, G>>::LineageStore<GillespieLineageStore<M, <O as Scenario<M, G>>::Habitat>>
fn get_logical_partition( args: &Self::Arguments, local_partition: &P ) -> Partition
source§impl AlgorithmDefaults for EventSkippingAlgorithm
impl AlgorithmDefaults for EventSkippingAlgorithm
source§impl<M: MathsCore, G: SplittableRng<M>, O: Scenario<M, G>, R: Reporter> AlgorithmDispatch<M, G, O, R> for EventSkippingAlgorithmwhere
O::LineageStore<GillespieLineageStore<M, O::Habitat>>: GloballyCoherentLineageStore<M, O::Habitat>,
O::DispersalSampler: SeparableDispersalSampler<M, O::Habitat, G>,
impl<M: MathsCore, G: SplittableRng<M>, O: Scenario<M, G>, R: Reporter> AlgorithmDispatch<M, G, O, R> for EventSkippingAlgorithmwhere
O::LineageStore<GillespieLineageStore<M, O::Habitat>>: GloballyCoherentLineageStore<M, O::Habitat>,
O::DispersalSampler: SeparableDispersalSampler<M, O::Habitat, G>,
type Algorithm<'p, P: LocalPartition<'p, R>> = EventSkippingAlgorithm
fn get_logical_partition_size<P: Partitioning>( args: &Self::Arguments, partitioning: &P ) -> PartitionSize
Auto Trait Implementations§
impl Freeze for EventSkippingAlgorithm
impl RefUnwindSafe for EventSkippingAlgorithm
impl Send for EventSkippingAlgorithm
impl Sync for EventSkippingAlgorithm
impl Unpin for EventSkippingAlgorithm
impl UnwindSafe for EventSkippingAlgorithm
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
§impl<T> ExtractDiscriminant for T
impl<T> ExtractDiscriminant for T
§type Discriminant = <T as ExtractDiscriminantSpec<<T as DiscriminantKind>::Discriminant>>::Ty
type Discriminant = <T as ExtractDiscriminantSpec<<T as DiscriminantKind>::Discriminant>>::Ty
The type of the discriminant, which must satisfy the trait bounds
required by
core::mem::Discriminant
. Read moresource§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