pub trait Crossover<G: Gene<G, A>, A> {
    // Required method
    fn cross_rate(&self) -> f32;

    // Provided methods
    fn cross(
        &self,
        population: &mut Population<G, A>,
        parent_indexes: &[i32],
        generation: i32,
    ) { ... }
    fn cross_genotypes(
        &self,
        geno_one: &mut Genotype<G, A>,
        geno_two: &mut Genotype<G, A>,
    ) -> i32 { ... }
    fn cross_chromosomes(
        &self,
        chrom_one: &mut Chromosome<G, A>,
        chrom_two: &mut Chromosome<G, A>,
    ) -> i32 { ... }
}

Required Methods§

source

fn cross_rate(&self) -> f32

Provided Methods§

source

fn cross( &self, population: &mut Population<G, A>, parent_indexes: &[i32], generation: i32, )

source

fn cross_genotypes( &self, geno_one: &mut Genotype<G, A>, geno_two: &mut Genotype<G, A>, ) -> i32

source

fn cross_chromosomes( &self, chrom_one: &mut Chromosome<G, A>, chrom_two: &mut Chromosome<G, A>, ) -> i32

Implementors§

source§

impl<G: Gene<G, A>, A> Crossover<G, A> for MultiPointCrossover

source§

impl<G: Gene<G, A>, A> Crossover<G, A> for UniformCrossover