]> git.sesse.net Git - foosball/commitdiff
Split out a function.
authorSteinar H. Gunderson <sesse@debian.org>
Wed, 3 Oct 2007 23:17:02 +0000 (01:17 +0200)
committerSteinar H. Gunderson <sesse@debian.org>
Wed, 3 Oct 2007 23:17:02 +0000 (01:17 +0200)
foorank.cpp

index f8ecf63872be9f5abd67af011f531ba595a901b6..080798caec02676ecb649982b36595c4e28ef15f 100644 (file)
@@ -343,14 +343,8 @@ void least_squares(vector<pair<double, double> > &curve, double mu1, double sigm
        sigma_result = sigma;
 }
 
-int main(int argc, char **argv)
+void compute_new_rating(double mu1, double sigma1, double mu2, double sigma2, int score1, int score2, double &mu, double &sigma)
 {
-       double mu1 = atof(argv[1]);
-       double sigma1 = atof(argv[2]);
-       double mu2 = atof(argv[3]);
-       double sigma2 = atof(argv[4]);
-       int score1 = atoi(argv[5]);
-       int score2 = atoi(argv[6]);
        vector<pair<double, double> > curve;
 
        if (score1 == 10) {
@@ -367,9 +361,22 @@ int main(int argc, char **argv)
                }
        }
 
-       double mu_est, sigma_est, mu, sigma;
+       double mu_est, sigma_est;
        normalize(curve);
        estimate_musigma(curve, mu_est, sigma_est);
        least_squares(curve, mu_est, sigma_est, mu, sigma);
+}
+
+int main(int argc, char **argv)
+{
+       double mu1 = atof(argv[1]);
+       double sigma1 = atof(argv[2]);
+       double mu2 = atof(argv[3]);
+       double sigma2 = atof(argv[4]);
+       int score1 = atoi(argv[5]);
+       int score2 = atoi(argv[6]);
+       double mu, sigma;
+       compute_new_rating(mu1, sigma1, mu2, sigma2, score1, score2, mu, sigma);
        printf("%f %f\n", mu, sigma);
 }
+