From: Ian Jackson Date: Sun, 21 Aug 2016 21:30:07 +0000 (+0100) Subject: compute-scottish-stv: slight improvements X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=appendix-a6.git;a=commitdiff_plain;h=2ec4a285f3ad944e9cf392f0796fbeff11052bfb compute-scottish-stv: slight improvements --- diff --git a/compute-scottish-stv b/compute-scottish-stv index 528cc5f..4760407 100755 --- a/compute-scottish-stv +++ b/compute-scottish-stv @@ -207,8 +207,8 @@ sub countballots () { sub computequota () { my $totalvalid = 0/1; $totalvalid += $_->{Total} foreach values %cands; - $quota = floor($totalvalid / (1 + $seats)); - prf "quota %s\n", sv $quota; + $quota = floor($totalvalid / (1 + $seats) + 1); + prf "total valid %s quota %s\n", (sv $totalvalid), (sv $quota); } sub total_history_cmp () { @@ -334,6 +334,8 @@ for (;;) { next; } + last if $seats_remain == 1; # don't bother doing more transfers + my $B = $c->{Total}; my %tspr; @@ -354,7 +356,7 @@ for (;;) { die unless $tspr{"@$previously"} == $xfervalue; } else { $tspr{"@$previously"} = $xfervalue; - prf "transfer value of ballots %s: %s\n", + prf "transfer value of ballots %20s: %s\n", "@$previously", sv $xfervalue; } }