use ndarray::Array1;
use crate::{operators::SamplingOperator, random::RandomGenerator};
#[derive(Debug, Clone)]
pub struct RandomSamplingFloat {
pub min: f64,
pub max: f64,
}
impl RandomSamplingFloat {
pub fn new(min: f64, max: f64) -> Self {
Self { min, max }
}
}
impl SamplingOperator for RandomSamplingFloat {
fn sample_individual(&self, num_vars: usize, rng: &mut impl RandomGenerator) -> Array1<f64> {
(0..num_vars)
.map(|_| rng.gen_range_f64(self.min, self.max))
.collect()
}
}