pub struct ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,{ /* private fields */ }Implementations
sourceimpl<D, T1, T2, U, F> ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
impl<D, T1, T2, U, F> ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
Trait Implementations
sourceimpl<D, T1, T2, U, Rhs, URhs, F> BitAnd<Rhs> for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
Rhs: Distribution<Value = U, Condition = URhs>,
URhs: RandomVariable,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
impl<D, T1, T2, U, Rhs, URhs, F> BitAnd<Rhs> for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
Rhs: Distribution<Value = U, Condition = URhs>,
URhs: RandomVariable,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
type Output = DependentJoint<ValuedDistribution<D, T1, T2, U, F>, Rhs, T2, U, URhs>
type Output = DependentJoint<ValuedDistribution<D, T1, T2, U, F>, Rhs, T2, U, URhs>
The resulting type after applying the
& operator.sourceimpl<D: Clone, T1: Clone, T2: Clone, U: Clone, F: Clone> Clone for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
impl<D: Clone, T1: Clone, T2: Clone, U: Clone, F: Clone> Clone for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
sourcefn clone(&self) -> ValuedDistribution<D, T1, T2, U, F>
fn clone(&self) -> ValuedDistribution<D, T1, T2, U, F>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moresourceimpl<D, T1, T2, U, F> ConditionDifferentiableDistribution for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U> + ConditionDifferentiableDistribution,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
impl<D, T1, T2, U, F> ConditionDifferentiableDistribution for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U> + ConditionDifferentiableDistribution,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
fn ln_diff_condition(
&self,
x: &Self::Value,
theta: &Self::Condition
) -> Result<Vec<f64>, DistributionError>
sourceimpl<D, T1, T2, U, F> Debug for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
impl<D, T1, T2, U, F> Debug for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
sourceimpl<D, T1, T2, U, F> Distribution for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
impl<D, T1, T2, U, F> Distribution for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
sourceimpl<D, T1, T2, U, Rhs, TRhs, F> Mul<Rhs> for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
Rhs: Distribution<Value = TRhs, Condition = U>,
TRhs: RandomVariable,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
impl<D, T1, T2, U, Rhs, TRhs, F> Mul<Rhs> for ValuedDistribution<D, T1, T2, U, F>where
D: Distribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
Rhs: Distribution<Value = TRhs, Condition = U>,
TRhs: RandomVariable,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
type Output = IndependentJoint<ValuedDistribution<D, T1, T2, U, F>, Rhs, T2, TRhs, U>
type Output = IndependentJoint<ValuedDistribution<D, T1, T2, U, F>, Rhs, T2, TRhs, U>
The resulting type after applying the
* operator.sourceimpl<D, T1, T2, U, F> SampleableDistribution for ValuedDistribution<D, T1, T2, U, F>where
D: SampleableDistribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
impl<D, T1, T2, U, F> SampleableDistribution for ValuedDistribution<D, T1, T2, U, F>where
D: SampleableDistribution<Value = T1, Condition = U>,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
Auto Trait Implementations
impl<D, T1, T2, U, F> RefUnwindSafe for ValuedDistribution<D, T1, T2, U, F>where
D: RefUnwindSafe,
F: RefUnwindSafe,
T2: RefUnwindSafe,
impl<D, T1, T2, U, F> Send for ValuedDistribution<D, T1, T2, U, F>
impl<D, T1, T2, U, F> Sync for ValuedDistribution<D, T1, T2, U, F>
impl<D, T1, T2, U, F> Unpin for ValuedDistribution<D, T1, T2, U, F>where
D: Unpin,
F: Unpin,
T2: Unpin,
impl<D, T1, T2, U, F> UnwindSafe for ValuedDistribution<D, T1, T2, U, F>where
D: UnwindSafe,
F: UnwindSafe,
T2: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more