From: Steinar H. Gunderson Date: Mon, 8 Oct 2007 18:47:50 +0000 (+0200) Subject: Remove a double negative. X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=0a47f6b013ac235066c0cdef2364bb51e897a042;hp=f390fceb530a44d7571f29a5c4416f0004ba882c;p=foosball Remove a double negative. --- diff --git a/foosrank.cpp b/foosrank.cpp index bfcea11..f166182 100644 --- a/foosrank.cpp +++ b/foosrank.cpp @@ -45,8 +45,8 @@ double prob_score(int k, double a, double rd) // is already divided by 455. double prob_score_real(int k, double a, double prodai, double kfac, double rd_norm) { - double nom = prodai * pow(2.0, -rd_norm * a); - double denom = kfac * pow(1.0 + pow(2.0, -rd_norm), k+a); + double nom = prodai * pow(2.0, rd_norm * a); + double denom = kfac * pow(1.0 + pow(2.0, rd_norm), k+a); return nom/denom; } @@ -111,7 +111,7 @@ double opponent_rating_pdf(int k, double a, double r1, double mu2, double sigma2 static inline double evaluate_int_point(int k, double a, double prodai_precompute, double kfac_precompute, double r1, double mu2, double sigma2, double winfac, double x) { - double probscore = prob_score_real(k, a, prodai_precompute, kfac_precompute, (r1 - x)*winfac); + double probscore = prob_score_real(k, a, prodai_precompute, kfac_precompute, (x - r1)*winfac); double z = (x - mu2)/sigma2; double gaussian = exp(-(z*z/2.0)); return probscore * gaussian; @@ -401,14 +401,14 @@ int main(int argc, char **argv) compute_new_rating(mu1, sigma1, mu2, sigma2, k, i, newmu1, newsigma1); compute_new_rating(mu2, sigma2, mu1, sigma1, i, k, newmu2, newsigma2); printf("%u-%u,%f,%+f,%+f\n", - k, i, prob_score(k, i, mu1-mu2), newmu1-mu1, newmu2-mu2); + k, i, prob_score(k, i, mu2-mu1), newmu1-mu1, newmu2-mu2); } for (int i = k; i --> 0; ) { double newmu1, newmu2, newsigma1, newsigma2; compute_new_rating(mu1, sigma1, mu2, sigma2, i, k, newmu1, newsigma1); compute_new_rating(mu2, sigma2, mu1, sigma1, k, i, newmu2, newsigma2); printf("%u-%u,%f,%+f,%+f\n", - i, k, prob_score(k, i, mu2-mu1), newmu1-mu1, newmu2-mu2); + i, k, prob_score(k, i, mu1-mu2), newmu1-mu1, newmu2-mu2); } } }