refactor: move RandomMultiObjectiveSampler into sampler::random

This commit is contained in:
Manuel Raimann
2026-02-12 13:21:37 +01:00
parent d20f09c66a
commit e68a3788be
2 changed files with 24 additions and 26 deletions
+23
View File
@@ -30,9 +30,11 @@
use parking_lot::Mutex;
use crate::distribution::Distribution;
use crate::multi_objective::{MultiObjectiveSampler, MultiObjectiveTrial};
use crate::param::ParamValue;
use crate::rng_util;
use crate::sampler::{CompletedTrial, Sampler};
use crate::types::Direction;
/// Uniform independent random sampler.
///
@@ -79,6 +81,27 @@ impl RandomSampler {
}
}
/// Default multi-objective sampler that delegates to [`RandomSampler`].
pub(crate) struct RandomMultiObjectiveSampler(RandomSampler);
impl RandomMultiObjectiveSampler {
pub(crate) fn new() -> Self {
Self(RandomSampler::new())
}
}
impl MultiObjectiveSampler for RandomMultiObjectiveSampler {
fn sample(
&self,
distribution: &Distribution,
trial_id: u64,
_history: &[MultiObjectiveTrial],
_directions: &[Direction],
) -> ParamValue {
self.0.sample(distribution, trial_id, &[])
}
}
impl Default for RandomSampler {
fn default() -> Self {
Self::new()