pub trait ValueDifferentiableDistribution: Distribution {
    // Required method
    fn ln_diff_value(
&self,
x: &Self::Value,
theta: &Self::Condition
) -> Result<Vec<f64>, DistributionError>; }

Required Methods§

source

fn ln_diff_value(
&self,
x: &Self::Value,
theta: &Self::Condition
) -> Result<Vec<f64>, DistributionError>

Implementors§

source§

impl ValueDifferentiableDistribution for Beta

source§

impl ValueDifferentiableDistribution for MultivariateCauchy

source§

impl ValueDifferentiableDistribution for Cauchy

source§

impl ValueDifferentiableDistribution for MultivariateNormal

source§

impl ValueDifferentiableDistribution for Normal

source§

impl ValueDifferentiableDistribution for MultivariateStudentT

source§

impl ValueDifferentiableDistribution for StudentT

source§

impl<D, T1, T2, U, F, G> ValueDifferentiableDistribution for ValueDifferentiableValuedDistribution<D, T1, T2, U, F, G>where
D: Distribution<Value = T1, Condition = U> + ValueDifferentiableDistribution,
T1: RandomVariable,
T2: RandomVariable,
U: Event,
F: Fn(&T2) -> Result<T1, DistributionError> + Clone + Send + Sync,
G: Fn(&T2) -> Matrix + Clone + Send + Sync,

source§

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,

source§

impl<D, T, U1, U2, F, G> ValueDifferentiableDistribution for ConditionDifferentiableConditionedDistribution<D, T, U1, U2, F, G>where
D: Distribution<Value = T, Condition = U1> + ValueDifferentiableDistribution,
T: RandomVariable,
U1: Event,
U2: Event,
F: Fn(&U2) -> Result<U1, DistributionError> + Clone + Send + Sync,
G: Fn(&U2) -> Matrix + Clone + Send + Sync,

source§

impl<D, T, U> ValueDifferentiableDistribution for IndependentArrayJoint<D, T, U>where
D: Distribution<Value = T, Condition = U> + ValueDifferentiableDistribution,
T: RandomVariable,
U: RandomVariable,

source§

impl<D, T, U> ValueDifferentiableDistribution for IndependentValueArrayJoint<D, T, U>where
D: Distribution<Value = T, Condition = U> + ValueDifferentiableDistribution,
T: RandomVariable,
U: RandomVariable,

source§

impl<L, R, T, UL, UR> ValueDifferentiableDistribution for DependentJoint<L, R, T, UL, UR>where
L: Distribution<Value = T, Condition = UL> + ValueDifferentiableDistribution + ConditionDifferentiableDistribution,
R: Distribution<Value = UL, Condition = UR> + ValueDifferentiableDistribution + ConditionDifferentiableDistribution,
T: RandomVariable,
UL: RandomVariable,
UR: RandomVariable,

source§

impl<L, R, TL, TR, U> ValueDifferentiableDistribution for IndependentJoint<L, R, TL, TR, U>where
L: Distribution<Value = TL, Condition = U> + ValueDifferentiableDistribution,
R: Distribution<Value = TR, Condition = U> + ValueDifferentiableDistribution,
TL: RandomVariable,
TR: RandomVariable,
U: Event,

source§

impl<T, U, FF, FS, G> ValueDifferentiableDistribution for ValueDifferentiableInstantDistribution<T, U, FF, FS, G>where
T: RandomVariable,
U: RandomVariable,
FF: Fn(&T, &U) -> Result<f64, DistributionError> + Clone + Send + Sync,
FS: Fn(&U, &mut dyn RngCore) -> Result<T, DistributionError> + Clone + Send + Sync,
G: Fn(&T, &U) -> Result<Vec<f64>, DistributionError> + Clone + Send + Sync,