Struct rand_distr::ChiSquared
source · pub struct ChiSquared<F>where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,{ /* private fields */ }Expand description
The chi-squared distribution χ²(k), where k is the degrees of
freedom.
For k > 0 integral, this distribution is the sum of the squares
of k independent standard normal random variables. For other
k, this uses the equivalent characterisation
χ²(k) = Gamma(k/2, 2).
Example
use rand_distr::{ChiSquared, Distribution};
let chi = ChiSquared::new(11.0).unwrap();
let v = chi.sample(&mut rand::thread_rng());
println!("{} is from a χ²(11) distribution", v)Implementations§
source§impl<F> ChiSquared<F>where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
impl<F> ChiSquared<F>where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
sourcepub fn new(k: F) -> Result<ChiSquared<F>, ChiSquaredError>
pub fn new(k: F) -> Result<ChiSquared<F>, ChiSquaredError>
Create a new chi-squared distribution with degrees-of-freedom
k.
Trait Implementations§
source§impl<F> Clone for ChiSquared<F>where
F: Float + Clone,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
impl<F> Clone for ChiSquared<F>where
F: Float + Clone,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
source§fn clone(&self) -> ChiSquared<F>
fn clone(&self) -> ChiSquared<F>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresource§impl<F> Debug for ChiSquared<F>where
F: Float + Debug,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
impl<F> Debug for ChiSquared<F>where
F: Float + Debug,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
source§impl<F> Distribution<F> for ChiSquared<F>where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
impl<F> Distribution<F> for ChiSquared<F>where
F: Float,
StandardNormal: Distribution<F>,
Exp1: Distribution<F>,
Open01: Distribution<F>,
source§fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> F
fn sample<R: Rng + ?Sized>(&self, rng: &mut R) -> F
Generate a random value of
T, using rng as the source of randomness.