Struct uncertain::Distribution[][src]

pub struct Distribution<T, D> where
    D: Distribution<T>, 
{ /* fields omitted */ }

Wraps a Distribution and implements Uncertain.

Uncertain values need to observe the correct epoch semantics if they implement Copy or Clone, or want to implement Uncertain for references. Since most uncertain values model distributions but distributions themselves do not require any special epoch semantics when they can be Cloned or are implemented on references, this wrapper type exists.

See Uncertain::sample for more details on the required semantics.

Examples

Basic usage:

use uncertain::{Uncertain, Distribution};
use rand_distr::StandardNormal;

let x = Distribution::from(StandardNormal);
assert!(x.map(|x: f64| x.abs() < 1.0).pr(0.68));

Trait Implementations

impl<T, D> From<D> for Distribution<T, D> where
    D: Distribution<T>, 
[src]

impl<T, D> Uncertain for Distribution<T, D> where
    D: Distribution<T>, 
[src]

type Value = T

The type of the contained value.

Auto Trait Implementations

impl<T, D> RefUnwindSafe for Distribution<T, D> where
    D: RefUnwindSafe,
    T: RefUnwindSafe

impl<T, D> Send for Distribution<T, D> where
    D: Send,
    T: Send

impl<T, D> Sync for Distribution<T, D> where
    D: Sync,
    T: Sync

impl<T, D> Unpin for Distribution<T, D> where
    D: Unpin,
    T: Unpin

impl<T, D> UnwindSafe for Distribution<T, D> where
    D: UnwindSafe,
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<!> for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,