diff --git a/src/lib.rs b/src/lib.rs index c457bca..0fcc512 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -326,27 +326,29 @@ impl TrueSkill { for n in t..t + current.len() { rotated_a_matrix[(row, n)] = flatten_weights[n]; + t += 1; x += 1; } for n in x..x + next.len() { rotated_a_matrix[(row, n)] = -flatten_weights[n]; + x += 1; } } let a_matrix = rotated_a_matrix.transpose(); - let _ata = self.beta.powi(2) * &rotated_a_matrix * &a_matrix; - let _atsa = &rotated_a_matrix * &variance_matrix * &a_matrix; + let ata = self.beta.powi(2) * &rotated_a_matrix * &a_matrix; + let atsa = &rotated_a_matrix * &variance_matrix * &a_matrix; let start = mean_matrix.transpose() * &a_matrix; - let middle = &_ata + &_atsa; + let middle = &ata + &atsa; let end = &rotated_a_matrix * &mean_matrix; let e_arg = (-0.5 * &start * &middle.inverse() * &end).determinant(); - let s_arg = _ata.determinant() / middle.determinant(); + let s_arg = ata.determinant() / middle.determinant(); e_arg.exp() * s_arg.sqrt() } @@ -423,7 +425,7 @@ mod tests { assert_relative_eq!( ts.quality(&[&[alice], &[bob]]), - 0.447_213_595_499_957_9, + 0.4472135954999579, epsilon = EPSILON ); }