pub fn param_sampled<S: Scalar>(
name: &str,
nominal: S,
sampler: impl Fn(&mut StdRng) -> S + 'static,
) -> StochasticParam<S>Expand description
Create a stochastic parameter with a custom sampling closure.
This allows plugging in any distribution:
use numra_optim::stochastic::param_sampled;
use rand::rngs::StdRng;
use rand::SeedableRng;
use rand_distr::{Distribution, Normal};
let dist = Normal::new(5.0, 1.0).unwrap();
let param = param_sampled("xi", 5.0, move |rng: &mut StdRng| dist.sample(rng));
assert_eq!(param.name, "xi");