From c5320f468ab9795ca8b9125f93b8088dc3f2b99a Mon Sep 17 00:00:00 2001 From: Rutherther Date: Mon, 6 Oct 2025 15:26:17 +0200 Subject: [PATCH] feat: add uniform constructor for RandomDistributionPerturbation --- env/src/perturbation/mod.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/env/src/perturbation/mod.rs b/env/src/perturbation/mod.rs index aea089bdb81ec726c567f42deb6981a65ede0159..12cbfe4ebd83ce687efbfa95dd404a492970136a 100644 --- a/env/src/perturbation/mod.rs +++ b/env/src/perturbation/mod.rs @@ -1,6 +1,6 @@ use nalgebra::SVector; use rand::{distr::Distribution, Rng}; -use rand_distr::{Normal, NormalError}; +use rand_distr::{uniform, Normal, NormalError, Uniform}; use crate::binary_string::BinaryString; @@ -46,6 +46,15 @@ impl RandomDistributionPerturbation RandomDistributionPerturbation> { + pub fn uniform(range: f64) -> Result { + Ok(Self { + distribution: Uniform::new(-range/2.0, range/2.0)?, + rng: rand::rng() + }) + } +} + impl, const LEN: usize> PerturbationOperator for RandomDistributionPerturbation { type Chromosome = SVector;