36 lines
716 B
Rust
36 lines
716 B
Rust
use crate::{gaussian::Gaussian, BETA, GAMMA, N_INF};
|
|
|
|
#[derive(Clone, Copy, Debug)]
|
|
pub struct Player {
|
|
pub(crate) prior: Gaussian,
|
|
pub(crate) beta: f64,
|
|
pub(crate) gamma: f64,
|
|
pub(crate) draw: Gaussian,
|
|
}
|
|
|
|
impl Player {
|
|
pub fn new(prior: Gaussian, beta: f64, gamma: f64) -> Self {
|
|
Self {
|
|
prior,
|
|
beta,
|
|
gamma,
|
|
draw: N_INF,
|
|
}
|
|
}
|
|
|
|
pub(crate) fn performance(&self) -> Gaussian {
|
|
self.prior.forget(self.beta, 1)
|
|
}
|
|
}
|
|
|
|
impl Default for Player {
|
|
fn default() -> Self {
|
|
Self {
|
|
prior: Gaussian::default(),
|
|
beta: BETA,
|
|
gamma: GAMMA,
|
|
draw: N_INF,
|
|
}
|
|
}
|
|
}
|