pub struct ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync, { /* private fields */ }Implementations
sourceimpl<D, T, U1, U2, F> ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
impl<D, T, U1, U2, F> ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
Trait Implementations
sourceimpl<D, T, U1, U2, Rhs, URhs, F> BitAnd<Rhs> for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
Rhs: Distribution<Value = U2, Condition = URhs>,
URhs: RandomVariable,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
impl<D, T, U1, U2, Rhs, URhs, F> BitAnd<Rhs> for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
Rhs: Distribution<Value = U2, Condition = URhs>,
URhs: RandomVariable,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
type Output = DependentJoint<ConditionedDistribution<D, T, U1, U2, F>, Rhs, T, U2, URhs>
type Output = DependentJoint<ConditionedDistribution<D, T, U1, U2, F>, Rhs, T, U2, URhs>
The resulting type after applying the & operator.
sourceimpl<D: Clone, T: Clone, U1: Clone, U2: Clone, F: Clone> Clone for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
impl<D: Clone, T: Clone, U1: Clone, U2: Clone, F: Clone> Clone for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
sourcefn clone(&self) -> ConditionedDistribution<D, T, U1, U2, F>
fn clone(&self) -> ConditionedDistribution<D, T, U1, U2, 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 more
sourceimpl<D, T, U1, U2, F> Debug for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
impl<D, T, U1, U2, F> Debug for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
sourceimpl<D, T, U1, U2, F> Distribution for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
impl<D, T, U1, U2, F> Distribution for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
sourceimpl<D, T, U1, U2, Rhs, TRhs, F> Mul<Rhs> for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
Rhs: Distribution<Value = TRhs, Condition = U2>,
TRhs: RandomVariable,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
impl<D, T, U1, U2, Rhs, TRhs, F> Mul<Rhs> for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
U2: Event,
Rhs: Distribution<Value = TRhs, Condition = U2>,
TRhs: RandomVariable,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
type Output = IndependentJoint<ConditionedDistribution<D, T, U1, U2, F>, Rhs, T, TRhs, U2>
type Output = IndependentJoint<ConditionedDistribution<D, T, U1, U2, F>, Rhs, T, TRhs, U2>
The resulting type after applying the * operator.
sourceimpl<D, T, U1, U2, F> ValueDifferentiableDistribution for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1> + ValueDifferentiableDistribution,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
impl<D, T, U1, U2, F> ValueDifferentiableDistribution for ConditionedDistribution<D, T, U1, U2, F> where
D: Distribution<Value = T, Condition = U1> + ValueDifferentiableDistribution,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
fn ln_diff_value(
&self,
x: &Self::Value,
theta: &Self::Condition
) -> Result<Vec<f64>, DistributionError>
Auto Trait Implementations
impl<D, T, U1, U2, F> RefUnwindSafe for ConditionedDistribution<D, T, U1, U2, F> where
D: RefUnwindSafe,
F: RefUnwindSafe,
U2: RefUnwindSafe,
impl<D, T, U1, U2, F> Send for ConditionedDistribution<D, T, U1, U2, F>
impl<D, T, U1, U2, F> Sync for ConditionedDistribution<D, T, U1, U2, F>
impl<D, T, U1, U2, F> Unpin for ConditionedDistribution<D, T, U1, U2, F> where
D: Unpin,
F: Unpin,
U2: Unpin,
impl<D, T, U1, U2, F> UnwindSafe for ConditionedDistribution<D, T, U1, U2, F> where
D: UnwindSafe,
F: UnwindSafe,
U2: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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
sourceimpl<D, T, U1> ConditionableDistribution for D where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
impl<D, T, U1> ConditionableDistribution for D where
D: Distribution<Value = T, Condition = U1>,
T: RandomVariable,
U1: Event,
sourcefn condition<U2, F>(
self,
condition: F
) -> ConditionedDistribution<D, <D as Distribution>::Value, <D as Distribution>::Condition, U2, F> where
U2: Event,
F: Fn(&U2) -> Result<<D as Distribution>::Condition, DistributionError> + Clone + Send + Sync,
fn condition<U2, F>(
self,
condition: F
) -> ConditionedDistribution<D, <D as Distribution>::Value, <D as Distribution>::Condition, U2, F> where
U2: Event,
F: Fn(&U2) -> Result<<D as Distribution>::Condition, DistributionError> + Clone + Send + Sync,
impl<T> Pointable for T
impl<T> Pointable for T
sourceimpl<D, T, U> SwitchableDistribution<U> for D where
D: Distribution<Value = T, Condition = U>,
T: RandomVariable,
U: Event,
impl<D, T, U> SwitchableDistribution<U> for D where
D: Distribution<Value = T, Condition = U>,
T: RandomVariable,
U: Event,
fn switch(
&'a self,
map: &'a HashMap<u32, U, RandomState>
) -> SwitchedDistribution<'a, D, <D as Distribution>::Value, U>
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into)Uses borrowed data to replace owned data, usually by cloning. Read more