#[repr(u8)]pub enum SeedPurpose {
Init = 0,
Selection = 1,
Crossover = 2,
Mutation = 3,
Replacement = 4,
Trial = 5,
Other = 6,
}Expand description
Tag identifying which evolutionary operation a sub-stream is for.
Mixing the purpose into the seed means that, within a single generation, selection and mutation draw from non-overlapping PRNG streams — critical for reproducing trial-level determinism across refactors that reorder operator calls.
Variants§
Init = 0
Initial population sampling.
Selection = 1
Parent selection.
Crossover = 2
Recombination / crossover.
Mutation = 3
Mutation.
Replacement = 4
Replacement / survivor selection.
Trial = 5
Differential-evolution trial-vector construction.
Other = 6
Catch-all for strategy-specific stochastic steps.
Trait Implementations§
Source§impl Clone for SeedPurpose
impl Clone for SeedPurpose
Source§fn clone(&self) -> SeedPurpose
fn clone(&self) -> SeedPurpose
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 moreimpl Copy for SeedPurpose
Source§impl Debug for SeedPurpose
impl Debug for SeedPurpose
impl Eq for SeedPurpose
Source§impl Hash for SeedPurpose
impl Hash for SeedPurpose
Source§impl PartialEq for SeedPurpose
impl PartialEq for SeedPurpose
Source§fn eq(&self, other: &SeedPurpose) -> bool
fn eq(&self, other: &SeedPurpose) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for SeedPurpose
Auto Trait Implementations§
impl Freeze for SeedPurpose
impl RefUnwindSafe for SeedPurpose
impl Send for SeedPurpose
impl Sync for SeedPurpose
impl Unpin for SeedPurpose
impl UnsafeUnpin for SeedPurpose
impl UnwindSafe for SeedPurpose
Blanket Implementations§
impl<T> Boilerplate for T
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<C> CloneExpand for Cwhere
C: Clone,
impl<C> CloneExpand for Cwhere
C: Clone,
fn __expand_clone_method(&self, _scope: &mut Scope) -> C
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> CompilationArg for T
impl<T> CompilationArg for T
Source§fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
fn dynamic_cast<Arg>(&self) -> Argwhere
Arg: CompilationArg,
Compilation args should be the same even with different element types. However, it isn’t
possible to enforce it with the type system. So, we make the compilation args serializable
and dynamically cast them. Read more
impl<T> CubeComptime for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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