~ruther/ctu-fee-eoa

99f05825707b84eeabf31356aa58f03fce1be32b — Rutherther a month ago f63848a
refactor(lib): allow modifying mutation perturbation
1 files changed, 2 insertions(+), 2 deletions(-)

M codes/eoa_lib/src/perturbation/mod.rs
M codes/eoa_lib/src/perturbation/mod.rs => codes/eoa_lib/src/perturbation/mod.rs +2 -2
@@ 316,7 316,7 @@ where
/// Perform given perturbation only with given probability
pub struct MutationPerturbation<T> {
    perturbation: Box<dyn PerturbationOperator<Chromosome = T>>,
    probability: f64
    pub probability: f64
}

impl<T: 'static> MutationPerturbation<T> {


@@ 327,7 327,7 @@ impl<T: 'static> MutationPerturbation<T> {
        }
    }

    fn apply_to_mutations(base_perturbation: &mut dyn PerturbationOperator<Chromosome = T>, apply: &dyn Fn(&mut Self)) {
    pub fn apply_to_mutations(base_perturbation: &mut dyn PerturbationOperator<Chromosome = T>, apply: &mut dyn FnMut(&mut Self)) {
        if let Some(mutation) = base_perturbation.as_any_mut().downcast_mut::<MutationPerturbation<T>>() {
            apply(mutation);
        }