pub trait Phi:
Clone
+ Debug
+ Labelled
+ PartialEq
+ AbsDiffEq
+ RelativeEq
+ for<'a> MulAssign<&'a Self>
+ for<'a> DivAssign<&'a Self> {
type CPD;
type Parameters;
type Evidence;
// Required methods
fn parameters(&self) -> &Self::Parameters;
fn parameters_size(&self) -> usize;
fn condition(&self, e: &Self::Evidence) -> Self;
fn marginalize(&self, x: &Set<usize>) -> Self;
fn normalize(&self) -> Self;
fn from_cpd(cpd: Self::CPD) -> Self;
fn into_cpd(self, x: &Set<usize>, z: &Set<usize>) -> Self::CPD;
}Expand description
A trait for potential functions.
Required Associated Types§
Sourcetype Parameters
type Parameters
The type of the parameters.
Required Methods§
Sourcefn parameters(&self) -> &Self::Parameters
fn parameters(&self) -> &Self::Parameters
Sourcefn parameters_size(&self) -> usize
fn parameters_size(&self) -> usize
Sourcefn marginalize(&self, x: &Set<usize>) -> Self
fn marginalize(&self, x: &Set<usize>) -> Self
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.