Port from julia version instead
This commit is contained in:
@@ -1,44 +1,35 @@
|
||||
use crate::{Gaussian, BETA, GAMMA, N_INF};
|
||||
|
||||
#[derive(Copy, Clone, Debug, Default, PartialEq, PartialOrd, Eq, Ord, Hash)]
|
||||
pub struct PlayerIndex(usize);
|
||||
|
||||
impl PlayerIndex {
|
||||
pub fn new(index: usize) -> Self {
|
||||
Self(index)
|
||||
}
|
||||
}
|
||||
use crate::{gaussian::Gaussian, BETA, GAMMA, N_INF};
|
||||
|
||||
#[derive(Clone, Copy, Debug)]
|
||||
pub struct Player {
|
||||
pub prior: Gaussian,
|
||||
pub beta: f64,
|
||||
pub gamma: f64,
|
||||
pub draw: Gaussian,
|
||||
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, draw: Gaussian) -> Self {
|
||||
Player {
|
||||
pub fn new(prior: Gaussian, beta: f64, gamma: f64) -> Self {
|
||||
Self {
|
||||
prior,
|
||||
beta,
|
||||
gamma,
|
||||
draw,
|
||||
draw: N_INF,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Player {
|
||||
pub fn performance(&self) -> Gaussian {
|
||||
Gaussian::new(
|
||||
self.prior.mu(),
|
||||
(self.prior.sigma().powi(2) + self.beta.powi(2)).sqrt(),
|
||||
)
|
||||
pub(crate) fn performance(&self) -> Gaussian {
|
||||
self.prior.forget(self.beta, 1)
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Player {
|
||||
fn default() -> Self {
|
||||
Player::new(Gaussian::default(), BETA, GAMMA, N_INF)
|
||||
Self {
|
||||
prior: Gaussian::default(),
|
||||
beta: BETA,
|
||||
gamma: GAMMA,
|
||||
draw: N_INF,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user