chiark
/
gitweb
/
~ian
/
appendix-a6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
normal2openstvtxt: produces something that openstv accepts; need to check
[appendix-a6.git]
/
compute-scottish-stv
diff --git
a/compute-scottish-stv
b/compute-scottish-stv
index 528cc5f0891a1556a26ed89c96547406122e1dba..47604073388b5a14acc81a847ea9142e2ca05a2b 100755
(executable)
--- 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;
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 () {
}
sub total_history_cmp () {
@@
-334,6
+334,8
@@
for (;;) {
next;
}
next;
}
+ last if $seats_remain == 1; # don't bother doing more transfers
+
my $B = $c->{Total};
my %tspr;
my $B = $c->{Total};
my %tspr;
@@
-354,7
+356,7
@@
for (;;) {
die unless $tspr{"@$previously"} == $xfervalue;
} else {
$tspr{"@$previously"} = $xfervalue;
die unless $tspr{"@$previously"} == $xfervalue;
} else {
$tspr{"@$previously"} = $xfervalue;
- prf "transfer value of ballots %s: %s\n",
+ prf "transfer value of ballots %
20
s: %s\n",
"@$previously", sv $xfervalue;
}
}
"@$previously", sv $xfervalue;
}
}