Initial commit.
This commit is contained in:
47
src/player.rs
Normal file
47
src/player.rs
Normal 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
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user