Small refactor
This commit is contained in:
@@ -280,7 +280,11 @@ impl History {
|
||||
*agent,
|
||||
Agent {
|
||||
player: priors.get(agent).cloned().unwrap_or_else(|| {
|
||||
Player::new(Gaussian::new(self.mu, self.sigma), self.beta, self.gamma)
|
||||
Player::new(
|
||||
Gaussian::from_ms(self.mu, self.sigma),
|
||||
self.beta,
|
||||
self.gamma,
|
||||
)
|
||||
}),
|
||||
..Default::default()
|
||||
},
|
||||
@@ -439,7 +443,7 @@ mod tests {
|
||||
priors.insert(
|
||||
agent,
|
||||
Player::new(
|
||||
Gaussian::new(25.0, 25.0 / 3.0),
|
||||
Gaussian::from_ms(25.0, 25.0 / 3.0),
|
||||
25.0 / 6.0,
|
||||
0.15 * 25.0 / 3.0,
|
||||
),
|
||||
@@ -452,7 +456,11 @@ mod tests {
|
||||
|
||||
let p0 = h.batches[0].posteriors();
|
||||
|
||||
assert_ulps_eq!(p0[&a], Gaussian::new(29.205220, 7.194481), epsilon = 1e-6);
|
||||
assert_ulps_eq!(
|
||||
p0[&a],
|
||||
Gaussian::from_ms(29.205220, 7.194481),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
let observed = h.batches[1].skills[&a].forward.sigma;
|
||||
let gamma: f64 = 0.15 * 25.0 / 3.0;
|
||||
@@ -496,7 +504,7 @@ mod tests {
|
||||
priors.insert(
|
||||
agent,
|
||||
Player::new(
|
||||
Gaussian::new(25.0, 25.0 / 3.0),
|
||||
Gaussian::from_ms(25.0, 25.0 / 3.0),
|
||||
25.0 / 6.0,
|
||||
0.15 * 25.0 / 3.0,
|
||||
),
|
||||
@@ -509,12 +517,12 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h1.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(22.904409, 6.010330),
|
||||
Gaussian::from_ms(22.904409, 6.010330),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h1.batches[0].skills[&c].posterior(),
|
||||
Gaussian::new(25.110318, 5.866311),
|
||||
Gaussian::from_ms(25.110318, 5.866311),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
@@ -522,12 +530,12 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h1.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(25.000000, 5.419212),
|
||||
Gaussian::from_ms(25.000000, 5.419212),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h1.batches[0].skills[&c].posterior(),
|
||||
Gaussian::new(25.000000, 5.419212),
|
||||
Gaussian::from_ms(25.000000, 5.419212),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
@@ -544,7 +552,11 @@ mod tests {
|
||||
for agent in [a, b, c] {
|
||||
priors.insert(
|
||||
agent,
|
||||
Player::new(Gaussian::new(25.0, 25.0 / 3.0), 25.0 / 6.0, 25.0 / 300.0),
|
||||
Player::new(
|
||||
Gaussian::from_ms(25.0, 25.0 / 3.0),
|
||||
25.0 / 6.0,
|
||||
25.0 / 300.0,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -554,12 +566,12 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h2.batches[2].skills[&a].posterior(),
|
||||
Gaussian::new(22.903522, 6.011017),
|
||||
Gaussian::from_ms(22.903522, 6.011017),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h2.batches[2].skills[&c].posterior(),
|
||||
Gaussian::new(25.110702, 5.866811),
|
||||
Gaussian::from_ms(25.110702, 5.866811),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
@@ -567,12 +579,12 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h2.batches[2].skills[&a].posterior(),
|
||||
Gaussian::new(24.998668, 5.420053),
|
||||
Gaussian::from_ms(24.998668, 5.420053),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h2.batches[2].skills[&c].posterior(),
|
||||
Gaussian::new(25.000532, 5.419827),
|
||||
Gaussian::from_ms(25.000532, 5.419827),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
}
|
||||
@@ -598,7 +610,11 @@ mod tests {
|
||||
for agent in [a, b, c] {
|
||||
priors.insert(
|
||||
agent,
|
||||
Player::new(Gaussian::new(25.0, 25.0 / 3.0), 25.0 / 6.0, 25.0 / 300.0),
|
||||
Player::new(
|
||||
Gaussian::from_ms(25.0, 25.0 / 3.0),
|
||||
25.0 / 6.0,
|
||||
25.0 / 300.0,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -617,12 +633,12 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
lc[&a][aj_e - 1].1,
|
||||
Gaussian::new(24.998668, 5.420053),
|
||||
Gaussian::from_ms(24.998668, 5.420053),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
lc[&c][cj_e - 1].1,
|
||||
Gaussian::new(25.000532, 5.419827),
|
||||
Gaussian::from_ms(25.000532, 5.419827),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
}
|
||||
@@ -659,17 +675,17 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(25.000267, 5.419381),
|
||||
Gaussian::from_ms(25.000267, 5.419381),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
Gaussian::new(24.999465, 5.419425),
|
||||
Gaussian::from_ms(24.999465, 5.419425),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[2].skills[&b].posterior(),
|
||||
Gaussian::new(25.000532, 5.419696),
|
||||
Gaussian::from_ms(25.000532, 5.419696),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
}
|
||||
@@ -749,17 +765,17 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(4.084902, 5.106919),
|
||||
Gaussian::from_ms(4.084902, 5.106919),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&c].posterior(),
|
||||
Gaussian::new(-0.533029, 5.106919),
|
||||
Gaussian::from_ms(-0.533029, 5.106919),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[2].skills[&e].posterior(),
|
||||
Gaussian::new(-3.551872, 5.154569),
|
||||
Gaussian::from_ms(-3.551872, 5.154569),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
}
|
||||
@@ -796,17 +812,17 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
Gaussian::from_ms(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
Gaussian::from_ms(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[2].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
Gaussian::from_ms(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
@@ -833,22 +849,22 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
Gaussian::from_ms(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[3].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
Gaussian::from_ms(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[3].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
Gaussian::from_ms(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[5].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
Gaussian::from_ms(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
}
|
||||
@@ -885,17 +901,17 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
Gaussian::from_ms(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
Gaussian::from_ms(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[2].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
Gaussian::from_ms(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
@@ -922,22 +938,22 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
Gaussian::from_ms(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[3].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
Gaussian::from_ms(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[3].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
Gaussian::from_ms(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[5].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
Gaussian::from_ms(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
}
|
||||
@@ -1214,22 +1230,22 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(
|
||||
lc[&a][0].1,
|
||||
Gaussian::new(5.537659, 4.758722),
|
||||
Gaussian::from_ms(5.537659, 4.758722),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
lc[&b][0].1,
|
||||
Gaussian::new(-0.830127, 5.239568),
|
||||
Gaussian::from_ms(-0.830127, 5.239568),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
lc[&a][1].1,
|
||||
Gaussian::new(1.792277, 4.099566),
|
||||
Gaussian::from_ms(1.792277, 4.099566),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
lc[&b][1].1,
|
||||
Gaussian::new(4.845533, 3.747616),
|
||||
Gaussian::from_ms(4.845533, 3.747616),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user