From: Steinar H. Gunderson Date: Wed, 30 May 2012 19:17:02 +0000 (+0200) Subject: When fetching auxillary parameters, index them by meaningful names and not the databa... X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=6d4b847681777889d8f9defe34f6d72ed8ae9585;p=wloh When fetching auxillary parameters, index them by meaningful names and not the database-internal numbers. --- diff --git a/www/index.pl b/www/index.pl index 916af5c..506faf5 100755 --- a/www/index.pl +++ b/www/index.pl @@ -194,7 +194,7 @@ sub write_parms_to_file { for my $id1 (keys %players) { for my $id2 (keys %players) { if ($id1 == $id2) { - printf MCCALC "%f ", ($used_cov->{$id1}{$id2} // $aux_parms->{-3}); + printf MCCALC "%f ", ($used_cov->{$id1}{$id2} // $aux_parms->{'rating_prior_stddev'}); } else { printf MCCALC "%f ", ($used_cov->{$id1}{$id2} // 0.0); } @@ -245,7 +245,7 @@ EOF chomp; my @x = split /\s+/; my $id = $x[0]; - my $player = sprintf "%s (%.0f ± %.0f)", $players{$id}, ($ratings{$id} // 500.0), ($ratings_stddev{$id} // $aux_parms->{-3}); + my $player = sprintf "%s (%.0f ± %.0f)", $players{$id}, ($ratings{$id} // 500.0), ($ratings_stddev{$id} // $aux_parms->{'rating_prior_stddev'}); $prob{$player} = [ @x[1..$#x] ]; } close MCCALC; @@ -314,12 +314,22 @@ sub find_avg_rating { } sub get_auxillary_parameters { + my ($dbh) = @_; + + my %aux_parm_names = { + -1 => num_iterations, + -2 => score_stddev, + -3 => rating_prior_stddev, + -4 => total_log_likelihood, + }; + my $q = $dbh->prepare('SELECT * FROM ratings WHERE id < 0'); $q->execute; my $aux_parms = {}; while (my $ref = $q->fetchrow_hashref) { - $aux_parms->{$ref->{'id'}} = $ref->{'rating'}; + my $id = $ref->{'id'}; + $aux_parms->{$aux_parm_names{$id}} = $ref->{'rating'}; } return $aux_parms; } @@ -349,7 +359,7 @@ EOF } my $aux_parms = get_auxillary_parameters($dbh); -my $match_stddev = $aux_parms->{-2} * sqrt(2.0); +my $match_stddev = $aux_parms->{'score_stddev'} * sqrt(2.0); my $division = $cgi->param('divisjon') // -1; my $subdivision = $cgi->param('avdeling') // -1;