Port from julia version instead
This commit is contained in:
@@ -1,23 +1,62 @@
|
||||
use crate::{Gaussian, N_INF};
|
||||
use crate::gaussian::Gaussian;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub struct DiffMessages {
|
||||
pub prior: Gaussian,
|
||||
pub likelihood: Gaussian,
|
||||
pub(crate) struct TeamMessage {
|
||||
pub(crate) prior: Gaussian,
|
||||
pub(crate) likelihood_lose: Gaussian,
|
||||
pub(crate) likelihood_win: Gaussian,
|
||||
pub(crate) likelihood_draw: Gaussian,
|
||||
}
|
||||
|
||||
impl DiffMessages {
|
||||
#[inline]
|
||||
pub fn p(&self) -> Gaussian {
|
||||
impl TeamMessage {
|
||||
pub(crate) fn p(&self) -> Gaussian {
|
||||
self.prior * self.likelihood_lose * self.likelihood_win * self.likelihood_draw
|
||||
}
|
||||
|
||||
pub(crate) fn posterior_win(&self) -> Gaussian {
|
||||
self.prior * self.likelihood_lose * self.likelihood_draw
|
||||
}
|
||||
|
||||
pub(crate) fn posterior_lose(&self) -> Gaussian {
|
||||
self.prior * self.likelihood_win * self.likelihood_draw
|
||||
}
|
||||
|
||||
pub(crate) fn likelihood(&self) -> Gaussian {
|
||||
self.likelihood_win * self.likelihood_lose * self.likelihood_draw
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) struct DrawMessage {
|
||||
pub(crate) prior: Gaussian,
|
||||
pub(crate) prior_team: Gaussian,
|
||||
pub(crate) likelihood_lose: Gaussian,
|
||||
pub(crate) likelihood_win: Gaussian,
|
||||
}
|
||||
|
||||
impl DrawMessage {
|
||||
pub(crate) fn p(&self) -> Gaussian {
|
||||
self.prior_team * self.likelihood_lose * self.likelihood_win
|
||||
}
|
||||
|
||||
pub(crate) fn posterior_win(&self) -> Gaussian {
|
||||
self.prior_team * self.likelihood_lose
|
||||
}
|
||||
|
||||
pub(crate) fn posterior_lose(&self) -> Gaussian {
|
||||
self.prior_team * self.likelihood_win
|
||||
}
|
||||
|
||||
pub(crate) fn likelihood(&self) -> Gaussian {
|
||||
self.likelihood_win * self.likelihood_lose
|
||||
}
|
||||
}
|
||||
|
||||
pub(crate) struct DiffMessage {
|
||||
pub(crate) prior: Gaussian,
|
||||
pub(crate) likelihood: Gaussian,
|
||||
}
|
||||
|
||||
impl DiffMessage {
|
||||
pub(crate) fn p(&self) -> Gaussian {
|
||||
self.prior * self.likelihood
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for DiffMessages {
|
||||
fn default() -> Self {
|
||||
Self {
|
||||
prior: N_INF,
|
||||
likelihood: N_INF,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user