equal
deleted
inserted
replaced
34 φᵢ = rD oppRating / 173.7178 |
34 φᵢ = rD oppRating / 173.7178 |
35 g_φᵢ = g_φ φᵢ |
35 g_φᵢ = g_φ φᵢ |
36 |
36 |
37 |
37 |
38 calcNewRating :: RatingData -> [GameData] -> RatingData |
38 calcNewRating :: RatingData -> [GameData] -> RatingData |
39 calcNewRating oldRating [] = oldRating |
39 calcNewRating oldRating [] = RatingData (ratingValue oldRating) (173.7178 * sqrt (φ ^ 2 + σ ^ 2)) σ |
|
40 where |
|
41 φ = rD oldRating / 173.7178 |
|
42 σ = volatility oldRating |
|
43 |
40 calcNewRating oldRating games = RatingData (173.7178 * μ' + 1500) (173.7178 * sqrt φ'sqr) σ' |
44 calcNewRating oldRating games = RatingData (173.7178 * μ' + 1500) (173.7178 * sqrt φ'sqr) σ' |
41 where |
45 where |
42 _Es = map (calcE oldRating) games |
46 _Es = map (calcE oldRating) games |
43 υ = 1 / sum (map υ_p _Es) |
47 υ = 1 / sum (map υ_p _Es) |
44 υ_p (_Eᵢ, g_φᵢ, _) = g_φᵢ ^ 2 * _Eᵢ * (1 - _Eᵢ) |
48 υ_p (_Eᵢ, g_φᵢ, _) = g_φᵢ ^ 2 * _Eᵢ * (1 - _Eᵢ) |