pub struct GraphMutator<T>{
pub mutations: Vec<NodeMutate>,
/* private fields */
}Fields§
§mutations: Vec<NodeMutate>Implementations§
Source§impl<T> GraphMutator<T>
impl<T> GraphMutator<T>
pub fn new(mutations: Vec<NodeMutate>) -> Self
pub fn insert_forward_node( &self, collection: &[Node<T>], node_type: &NodeType, factory: &NodeFactory<T>, ) -> Option<Vec<Node<T>>>
pub fn insert_recurrent_node( &self, collection: &[Node<T>], node_type: &NodeType, factory: &NodeFactory<T>, ) -> Option<Vec<Node<T>>>
Trait Implementations§
Source§impl<T> Alter<NodeChromosome<T>> for GraphMutator<T>
impl<T> Alter<NodeChromosome<T>> for GraphMutator<T>
fn name(&self) -> &'static str
fn rate(&self) -> f32
fn alter_type(&self) -> AlterType
fn alter( &self, population: &mut Population<NodeChromosome<T>>, generation: i32, ) -> Vec<Metric>
fn mutate_genotype(&self, genotype: &mut Genotype<C>) -> i32
fn mutate_chromosome(&self, chromosome: &mut C) -> i32
fn mutate_gene( &self, gene: &<C as Chromosome>::GeneType, ) -> <C as Chromosome>::GeneType
fn cross( &self, population: &mut Population<C>, parent_indexes: &[usize], generation: i32, ) -> i32
fn cross_chromosomes(&self, chrom_one: &mut C, chrom_two: &mut C) -> i32
Auto Trait Implementations§
impl<T> Freeze for GraphMutator<T>
impl<T> RefUnwindSafe for GraphMutator<T>where
T: RefUnwindSafe,
impl<T> Send for GraphMutator<T>where
T: Send,
impl<T> Sync for GraphMutator<T>where
T: Sync,
impl<T> Unpin for GraphMutator<T>where
T: Unpin,
impl<T> UnwindSafe for GraphMutator<T>where
T: UnwindSafe,
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> 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