[][src]Trait vrp_core::utils::Random

pub trait Random {
    fn get_rng(&self) -> StdRng;

    fn uniform_int(&self, min: i32, max: i32) -> i32 { ... }
fn uniform_real(&self, min: f64, max: f64) -> f64 { ... }
fn is_head_not_tails(&self) -> bool { ... }
fn weighted(&self, weights: &[usize]) -> usize { ... } }

Provides the way to use randomized values in generic way.

Required methods

fn get_rng(&self) -> StdRng

Returns RNG.

Loading content...

Provided methods

fn uniform_int(&self, min: i32, max: i32) -> i32

Produces integral random value, uniformly distributed on the closed interval [min, max]

fn uniform_real(&self, min: f64, max: f64) -> f64

Produces real random value, uniformly distributed on the closed interval [min, max)

fn is_head_not_tails(&self) -> bool

Flips a coin and returns true if it is "heads", false otherwise.

fn weighted(&self, weights: &[usize]) -> usize

Returns an index from collected with probability weight. Uses exponential distribution where the weights are the rate of the distribution (lambda) and selects the smallest sampled value.

Loading content...

Implementors

impl Random for DefaultRandom[src]

Loading content...