pub struct StandardNormal;Expand description
The standard Normal distribution N(0, 1).
This is equivalent to Normal::new(0.0, 1.0), but faster.
See Normal for the general Normal distribution.
§Plot
The following diagram shows the standard Normal distribution.
§Example
use rand::prelude::*;
use rand_distr::StandardNormal;
let val: f64 = rand::rng().sample(StandardNormal);
println!("{}", val);§Notes
Implemented via the ZIGNOR variant1 of the Ziggurat method.
Jurgen A. Doornik (2005). An Improved Ziggurat Method to Generate Normal Random Samples. Nuffield College, Oxford ↩
Trait Implementations§
Source§impl Clone for StandardNormal
impl Clone for StandardNormal
Source§fn clone(&self) -> StandardNormal
fn clone(&self) -> StandardNormal
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for StandardNormal
Source§impl Debug for StandardNormal
impl Debug for StandardNormal
Source§impl Distribution<f32> for StandardNormal
impl Distribution<f32> for StandardNormal
Source§impl Distribution<f64> for StandardNormal
impl Distribution<f64> for StandardNormal
Auto Trait Implementations§
impl Freeze for StandardNormal
impl RefUnwindSafe for StandardNormal
impl Send for StandardNormal
impl Sync for StandardNormal
impl Unpin for StandardNormal
impl UnsafeUnpin for StandardNormal
impl UnwindSafe for StandardNormal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.