From 7615002cd5fe3b6eb8b60edd301cee3614df4404 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Feb 2026 22:46:09 +0000 Subject: [PATCH 1/2] Initial plan From 9343fc44c702d195fcd7888b57d8fe2cf70b295c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 23 Feb 2026 22:49:58 +0000 Subject: [PATCH 2/2] move observe call before truncate in FitnessEliminator Co-authored-by: HyperCodec <72839119+HyperCodec@users.noreply.github.com> --- genetic-rs-common/src/builtin/eliminator.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/genetic-rs-common/src/builtin/eliminator.rs b/genetic-rs-common/src/builtin/eliminator.rs index a64bcb7..b07af75 100644 --- a/genetic-rs-common/src/builtin/eliminator.rs +++ b/genetic-rs-common/src/builtin/eliminator.rs @@ -186,8 +186,8 @@ where fn eliminate(&self, genomes: Vec) -> Vec { let mut fitnesses = self.calculate_and_sort(genomes); let median_index = (fitnesses.len() as f32) * self.threshold; - fitnesses.truncate(median_index as usize + 1); self.observer.observe(&fitnesses); + fitnesses.truncate(median_index as usize + 1); fitnesses.into_iter().map(|(g, _)| g).collect() } @@ -195,8 +195,8 @@ where fn eliminate(&self, genomes: Vec) -> Vec { let mut fitnesses = self.calculate_and_sort(genomes); let median_index = (fitnesses.len() as f32) * self.threshold; - fitnesses.truncate(median_index as usize + 1); self.observer.observe(&fitnesses); + fitnesses.truncate(median_index as usize + 1); fitnesses.into_par_iter().map(|(g, _)| g).collect() } }