~ruther/ctu-fee-eoa

c6e0be8ad2c69e1ae98c7545071fedd0bd9e19df — Rutherther a month ago de36016
chore: do not pass pairing as mut
2 files changed, 4 insertions(+), 4 deletions(-)

M codes/eoa_lib/src/evolution.rs
M codes/eoa_lib/src/pairing.rs
M codes/eoa_lib/src/evolution.rs => codes/eoa_lib/src/evolution.rs +2 -2
@@ 33,7 33,7 @@ pub fn evolution_algorithm<TChromosome: Clone, TResult: Clone, const DParents: u
    parents_count: usize,
    fitness: &impl FitnessFunction<In = TChromosome, Out = TResult>,
    selection: &impl Selection<TChromosome, TResult>,
    pairing: &mut impl Pairing<DParents, Chromosome = TChromosome, Out = TResult>,
    pairing: &impl Pairing<DParents, Chromosome = TChromosome, Out = TResult>,
    crossover: &impl Crossover<DParents, Chromosome = TChromosome, Out = TResult>,
    perturbation: &impl PerturbationOperator<Chromosome = TChromosome>,
    replacement: &impl Replacement<TChromosome, TResult>,


@@ 125,7 125,7 @@ pub mod tests {
            50,
            &one_max,
            &TournamentSelection::new(5, 0.8),
            &mut AdjacentPairing::new(),
            &AdjacentPairing::new(),
            &BinaryOnePointCrossover::new(),
            &CombinedPerturbation::new(
                vec![

M codes/eoa_lib/src/pairing.rs => codes/eoa_lib/src/pairing.rs +2 -2
@@ 11,7 11,7 @@ pub trait Pairing<const D: usize> {
    type Out;

    fn pair<T: Iterator<Item = usize>>(
        &mut self,
        &self,
        population: &EvaluatedPopulation<Self::Chromosome, Self::Out>,
        parents: T
    ) -> impl Iterator<Item = ParentPairing<D>>;


@@ 36,7 36,7 @@ impl<TChromosome, TOutput> Pairing<2> for AdjacentPairing<TChromosome, TOutput> 
    type Out = TOutput;

    fn pair<T: Iterator<Item = usize>>(
        &mut self,
        &self,
        _: &EvaluatedPopulation<Self::Chromosome, Self::Out>,
        parents: T
    ) -> impl Iterator<Item = ParentPairing<2>> {