Initial commit.

This commit is contained in:
2022-06-10 15:22:27 +02:00
commit de58d01322
12 changed files with 1115 additions and 0 deletions

47
src/player.rs Normal file
View File

@@ -0,0 +1,47 @@
use std::fmt;
use crate::{Gaussian, BETA, GAMMA, N_INF};
#[derive(Debug)]
pub struct Player {
pub prior: Gaussian,
pub beta: f64,
gamma: f64,
prior_draw: Gaussian,
}
impl Player {
pub fn new(prior: Gaussian, beta: f64, gamma: f64, prior_draw: Gaussian) -> Self {
Player {
prior,
beta,
gamma,
prior_draw,
}
}
}
impl Player {
pub fn performance(&self) -> Gaussian {
Gaussian::new(
self.prior.mu(),
(self.prior.sigma().powi(2) + self.beta.powi(2)).sqrt(),
)
}
}
impl Default for Player {
fn default() -> Self {
Player::new(Gaussian::default(), BETA, GAMMA, N_INF)
}
}
impl fmt::Display for Player {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(
f,
"Player({}, beta={:.3}, gamma={:.3})",
self.prior, self.beta, self.gamma
)
}
}