]> git.sesse.net Git - foosball/commitdiff
Change a few divs by constants to muls.
authorSteinar H. Gunderson <sesse@debian.org>
Sun, 21 Oct 2007 12:50:35 +0000 (14:50 +0200)
committerSteinar H. Gunderson <sesse@debian.org>
Sun, 21 Oct 2007 12:50:35 +0000 (14:50 +0200)
foosrank.cpp

index 374bc13a1067fb924f06d6b810aaccffe062feec..4b44706fe67fd77bcacadbfbe4093281a4c734b8 100644 (file)
@@ -122,9 +122,10 @@ static void compute_opponent_rating_pdf(int k, int a, double mu2, double sigma2,
                func1[i].real() = func1[i].imag() = func2[i].real() = func2[i].imag() = 0.0;
        }
 
+       double invsigma2 = 1.0 / sigma2;
        for (int i = 0; i < sz; ++i) {
                double x1 = 0.0 + h*i;
-               double z = (x1 - mu2)/sigma2;
+               double z = (x1 - mu2) * invsigma2;
                func1[i].real() = exp(-(z*z/2.0));
 
                double x2 = -3000.0 + h*i;
@@ -372,11 +373,12 @@ static void compute_new_double_rating(double mu1, double sigma1, double mu2, dou
                double r1 = i * h;
 
                // iterate over r2
+               double invsigma2 = 1.0 / sigma2;
                for (unsigned j = 0; j < curve.size(); ++j) {
                        double r1plusr2 = curve[j].first;
                        double r2 = r1plusr2 - r1;
 
-                       double z = (r2 - mu2) sigma2;
+                       double z = (r2 - mu2) * invsigma2;
                        double gaussian = exp(-(z*z/2.0));
                        sum += curve[j].second * gaussian;
                }