diff --git a/src/game.rs b/src/game.rs index 1cd799e..180c2ce 100644 --- a/src/game.rs +++ b/src/game.rs @@ -6,6 +6,7 @@ use crate::{ sort_perm, tuple_gt, tuple_max, N00, N_INF, }; +#[derive(Debug)] pub struct Game { teams: Vec>, result: Vec, @@ -80,7 +81,7 @@ impl Game { this } - fn likelihoods(&mut self) -> &Vec> { + fn likelihoods(&mut self) { let m_t_ft = self.likelihood_teams(); self.likelihoods = self @@ -102,8 +103,6 @@ impl Game { .collect::>() }) .collect::>(); - - &self.likelihoods } fn likelihood_teams(&mut self) -> Vec { @@ -121,9 +120,7 @@ impl Game { TeamMessage { prior: performance, - likelihood_lose: N_INF, - likelihood_win: N_INF, - likelihood_draw: N_INF, + ..Default::default() } }) .collect::>(); diff --git a/src/message.rs b/src/message.rs index d73afb2..a340385 100644 --- a/src/message.rs +++ b/src/message.rs @@ -1,4 +1,5 @@ use crate::gaussian::Gaussian; +use crate::N_INF; pub(crate) struct TeamMessage { pub(crate) prior: Gaussian, @@ -27,6 +28,17 @@ impl TeamMessage { } } +impl Default for TeamMessage { + fn default() -> Self { + Self { + prior: N_INF, + likelihood_lose: N_INF, + likelihood_win: N_INF, + likelihood_draw: N_INF, + } + } +} + /* pub(crate) struct DrawMessage { pub(crate) prior: Gaussian,