Added benchmark for Batch
This commit is contained in:
@@ -460,7 +460,7 @@ mod tests {
|
||||
|
||||
assert_ulps_eq!(observed, expected, epsilon = 0.000001);
|
||||
|
||||
let observed = h.batches[1].posterior(a);
|
||||
let observed = h.batches[1].skills[&a].posterior();
|
||||
|
||||
let p = Game::new(
|
||||
h.batches[1].events[0].within_priors(false, false, &h.batches[1].skills, &h.agents),
|
||||
@@ -508,12 +508,12 @@ mod tests {
|
||||
h1.add_events_with_prior(composition, results, times, vec![], priors);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h1.batches[0].posterior(a),
|
||||
h1.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(22.904409, 6.010330),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h1.batches[0].posterior(c),
|
||||
h1.batches[0].skills[&c].posterior(),
|
||||
Gaussian::new(25.110318, 5.866311),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -521,12 +521,12 @@ mod tests {
|
||||
h1.convergence(ITERATIONS, EPSILON, false);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h1.batches[0].posterior(a),
|
||||
h1.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(25.000000, 5.419212),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h1.batches[0].posterior(c),
|
||||
h1.batches[0].skills[&c].posterior(),
|
||||
Gaussian::new(25.000000, 5.419212),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -553,12 +553,12 @@ mod tests {
|
||||
h2.add_events_with_prior(composition, results, times, vec![], priors);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h2.batches[2].posterior(a),
|
||||
h2.batches[2].skills[&a].posterior(),
|
||||
Gaussian::new(22.903522, 6.011017),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h2.batches[2].posterior(c),
|
||||
h2.batches[2].skills[&c].posterior(),
|
||||
Gaussian::new(25.110702, 5.866811),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -566,12 +566,12 @@ mod tests {
|
||||
h2.convergence(ITERATIONS, EPSILON, false);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h2.batches[2].posterior(a),
|
||||
h2.batches[2].skills[&a].posterior(),
|
||||
Gaussian::new(24.998668, 5.420053),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h2.batches[2].posterior(c),
|
||||
h2.batches[2].skills[&c].posterior(),
|
||||
Gaussian::new(25.000532, 5.419827),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -658,17 +658,17 @@ mod tests {
|
||||
assert_eq!(h.batches[2].skills[&c].elapsed, 1);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(a),
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(25.000267, 5.419381),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(b),
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
Gaussian::new(24.999465, 5.419425),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[2].posterior(b),
|
||||
h.batches[2].skills[&b].posterior(),
|
||||
Gaussian::new(25.000532, 5.419696),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -712,8 +712,8 @@ mod tests {
|
||||
);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(b).mu,
|
||||
-1.0 * h.batches[0].posterior(c).mu,
|
||||
h.batches[0].skills[&b].posterior().mu,
|
||||
-1.0 * h.batches[0].skills[&c].posterior().mu,
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
@@ -732,33 +732,33 @@ mod tests {
|
||||
assert_ulps_eq!(p_d_m_hat, 0.172432, epsilon = 1e-6);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(a),
|
||||
h.batches[0].posterior(b),
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(c),
|
||||
h.batches[0].posterior(d),
|
||||
h.batches[0].skills[&c].posterior(),
|
||||
h.batches[0].skills[&d].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[1].posterior(e),
|
||||
h.batches[1].posterior(f),
|
||||
h.batches[1].skills[&e].posterior(),
|
||||
h.batches[1].skills[&f].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(a),
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(4.084902, 5.106919),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(c),
|
||||
h.batches[0].skills[&c].posterior(),
|
||||
Gaussian::new(-0.533029, 5.106919),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[2].posterior(e),
|
||||
h.batches[2].skills[&e].posterior(),
|
||||
Gaussian::new(-3.551872, 5.154569),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -795,17 +795,17 @@ mod tests {
|
||||
assert_eq!(h.batches[2].skills[&c].elapsed, 1);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(a),
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(b),
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[2].posterior(b),
|
||||
h.batches[2].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -832,22 +832,22 @@ mod tests {
|
||||
h.convergence(ITERATIONS, EPSILON, false);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(a),
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[3].posterior(a),
|
||||
h.batches[3].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[3].posterior(b),
|
||||
h.batches[3].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[5].posterior(b),
|
||||
h.batches[5].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -884,17 +884,17 @@ mod tests {
|
||||
assert_eq!(h.batches[2].skills[&c].elapsed, 1);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(a),
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(b),
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[2].posterior(b),
|
||||
h.batches[2].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 1.300610),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -921,22 +921,22 @@ mod tests {
|
||||
h.convergence(ITERATIONS, EPSILON, false);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(a),
|
||||
h.batches[0].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[3].posterior(a),
|
||||
h.batches[3].skills[&a].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[3].posterior(b),
|
||||
h.batches[3].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
assert_ulps_eq!(
|
||||
h.batches[5].posterior(b),
|
||||
h.batches[5].skills[&b].posterior(),
|
||||
Gaussian::new(0.000000, 0.931236),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
@@ -1084,20 +1084,20 @@ mod tests {
|
||||
h.convergence(ITERATIONS, EPSILON, false);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(b),
|
||||
h.batches[end].posterior(b),
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
h.batches[end].skills[&b].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(c),
|
||||
h.batches[end].posterior(c),
|
||||
h.batches[0].skills[&c].posterior(),
|
||||
h.batches[end].skills[&c].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(c),
|
||||
h.batches[0].posterior(b),
|
||||
h.batches[0].skills[&c].posterior(),
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
@@ -1172,20 +1172,20 @@ mod tests {
|
||||
h.convergence(ITERATIONS, EPSILON, false);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(b),
|
||||
h.batches[end].posterior(b),
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
h.batches[end].skills[&b].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(c),
|
||||
h.batches[end].posterior(c),
|
||||
h.batches[0].skills[&c].posterior(),
|
||||
h.batches[end].skills[&c].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
|
||||
assert_ulps_eq!(
|
||||
h.batches[0].posterior(c),
|
||||
h.batches[0].posterior(b),
|
||||
h.batches[0].skills[&c].posterior(),
|
||||
h.batches[0].skills[&b].posterior(),
|
||||
epsilon = 1e-6
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user