Struct rand_distr::Pert [−][src]
pub struct Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>, { /* fields omitted */ }
The PERT distribution.
Similar to the Triangular
distribution, the PERT distribution is
parameterised by a range and a mode within that range. Unlike the
Triangular
distribution, the probability density function of the PERT
distribution is smooth, with a configurable weighting around the mode.
Example
use rand_distr::{Pert, Distribution}; let d = Pert::new(0., 5., 2.5).unwrap(); let v = d.sample(&mut rand::thread_rng()); println!("{} is from a PERT distribution", v);
Implementations
impl<F> Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]
impl<F> Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]pub fn new(min: F, max: F, mode: F) -> Result<Pert<F>, PertError>
[src]
Set up the PERT distribution with defined min
, max
and mode
.
This is equivalent to calling Pert::new_shape
with shape == 4.0
.
pub fn new_with_shape(
min: F,
max: F,
mode: F,
shape: F
) -> Result<Pert<F>, PertError>
[src]
min: F,
max: F,
mode: F,
shape: F
) -> Result<Pert<F>, PertError>
Set up the PERT distribution with defined min
, max
, mode
and
shape
.
Trait Implementations
impl<F: Clone> Clone for Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]
impl<F: Clone> Clone for Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]impl<F: Debug> Debug for Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]
impl<F: Debug> Debug for Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]impl<F> Distribution<F> for Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]
impl<F> Distribution<F> for Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]impl<F: Copy> Copy for Pert<F> where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
[src]
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
Auto Trait Implementations
impl<F> RefUnwindSafe for Pert<F> where
F: RefUnwindSafe,
F: RefUnwindSafe,
impl<F> Send for Pert<F> where
F: Send,
F: Send,
impl<F> Sync for Pert<F> where
F: Sync,
F: Sync,
impl<F> Unpin for Pert<F> where
F: Unpin,
F: Unpin,
impl<F> UnwindSafe for Pert<F> where
F: UnwindSafe,
F: UnwindSafe,