Commit Graph

61 Commits

Author SHA1 Message Date
RunasSudo 764ebd98e6
Various tidyups
Use "Droop" as default quota (since same as "Droop (exact)" when quota not rounded)
Rename ers97.blt
Update documentation
2021-08-09 17:58:05 +10:00
RunasSudo ae0d1d8411
Implement dynamic quotas 2021-08-08 21:41:10 +10:00
RunasSudo b58922c57b
WIP: no immediate election? 2021-08-07 22:34:55 +10:00
RunasSudo 8a4219303a
Implement Minneapolis STV 2021-08-05 21:47:34 +10:00
RunasSudo 429191dc81
With --sample-per-ballot, terminate immediately on electing the required number 2021-08-05 20:23:54 +10:00
RunasSudo 33594c110e
Implement stratified and by-order sampling 2021-08-05 18:41:39 +10:00
RunasSudo f3e4071886
Refactor tests specification using builder pattern 2021-08-05 01:13:54 +10:00
RunasSudo 0800701960
Implement configurable --sample-per-ballot 2021-08-04 13:46:32 +10:00
RunasSudo 0efc1e6eab
Complete implementation of Cambridge STV
Implement --min-threshold
Add test
2021-08-03 23:42:59 +10:00
RunasSudo 6da51837a5
Rename --round-tvs to --round-surplus-fractions and --round-weights to --round-values 2021-08-03 16:46:21 +10:00
RunasSudo ea8c452737
Prevent bulk election and bulk exclusion violating constraints 2021-08-02 00:10:17 +10:00
RunasSudo 32e89312fa
Show stage progress during tie that occurs in the middle of a stage 2021-07-31 17:42:33 +10:00
RunasSudo 83d0a9bb80
Better error messages 2021-07-31 15:24:23 +10:00
RunasSudo 3801d30527
Switch to handwritten BLT parser 2021-07-29 03:24:51 +10:00
RunasSudo 5f48a88bbe
Validated against 2019 NSW Senate election
Disable bulk election for Senate STV
Update documentation
2021-07-23 20:30:14 +10:00
RunasSudo e3419b6462
Add comments to supplied BLT files 2021-07-23 16:58:46 +10:00
RunasSudo cca097f943
Use Pest-based parser for BLT files
Support comments, optional newlines, etc.
2021-07-23 16:45:54 +10:00
RunasSudo 3b8ccd097e
Extend early bulk election to multiple vacancies if the leading candidates cannot be overtaken 2021-07-23 01:38:37 +10:00
RunasSudo bea51611b0
Implement Australian Capital Territory STV 2021-07-22 20:31:06 +10:00
RunasSudo 2ef7bf24f2
Correctly compute vote required for election when using different quotas/quota criteria 2021-07-21 13:43:16 +10:00
RunasSudo ed4a86e699
More aggressive early bulk election 2021-07-21 00:46:32 +10:00
RunasSudo c070ec8eae
NZ Meek STV validated against Hill (2006) implementation 2021-07-13 20:44:09 +10:00
RunasSudo 0d9196a951
Refactoring 2021-06-29 16:48:02 +10:00
RunasSudo 34545ad179
Check for ties when electing candidates with surpluses
Refactor constraint-related code into constraints module
2021-06-28 00:56:28 +10:00
RunasSudo c12743285a
Add documentation on constraints 2021-06-27 23:15:33 +10:00
RunasSudo 31eda1fcec
Add test cases for constraints 2021-06-27 22:46:37 +10:00
RunasSudo ba3db26263
Describe use of constraints in lead-in text 2021-06-27 22:24:25 +10:00
RunasSudo 38eef74e77
Implement constraints (guard-doom method) for CLI 2021-06-27 21:57:24 +10:00
RunasSudo c563654ace
Implement constraint matrix logic and test case 2021-06-27 17:49:28 +10:00
RunasSudo ce8b252453
Implement --no-early-bulk-elect 2021-06-23 00:52:25 +10:00
RunasSudo 122308f2d2
Update test cases
Validate candidate names
Validate stage names
2021-06-22 16:40:38 +10:00
RunasSudo dda62bb4a9
Add CSM15 test case for Wright STV 2021-06-22 16:40:38 +10:00
RunasSudo 90beffa9ff
Fix error in scotland_linn07_gfixed5 test resulting in failure to actually use GuardedFixed 2021-06-20 01:48:25 +10:00
RunasSudo cd42899ba8
Add test case for NZ Meek STV 2021-06-20 01:48:25 +10:00
RunasSudo a2e4ab557c
Implement test case for 2006 Meek STV 2021-06-19 02:05:27 +10:00
RunasSudo 13f1885eb5
Implement features required for 2006 Meek STV
viz. --round-{tvs,votes,weights}, --defer-surpluses, --meek-immediate-elect and --meek-surplus-tolerance
2021-06-19 02:05:27 +10:00
RunasSudo 2ea8b4b757
Add tests for Meek STV 2021-06-16 21:51:13 +10:00
RunasSudo 4ebb6474fd
Implement Meek STV 2021-06-16 18:44:24 +10:00
RunasSudo f395e6f064
Implement guarded fixed-point arithmetic 2021-06-14 22:11:33 +10:00
RunasSudo 3bbef933bb
Refactor and add documentation 2021-06-14 20:43:36 +10:00
RunasSudo c9d714bf25
Add test cases for tie-breaking 2021-06-13 15:03:10 +10:00
RunasSudo 2dc5ed963b
Implement forwards and backwards tie-breaking 2021-06-13 00:15:14 +10:00
RunasSudo 5d491687b4
Code fixups 2021-06-12 21:16:53 +10:00
RunasSudo 31538cd3fc
Add code coverage calculation 2021-06-12 15:37:41 +10:00
RunasSudo a038efc8a4
Initial implementation of prompt-based tie breaking 2021-06-12 02:09:39 +10:00
RunasSudo 4c4099ee22
Handle withdrawn candidates 2021-06-12 00:51:31 +10:00
RunasSudo 59539d807a
Implement --normalise-ballots
This, with --sum-surplus-transfers, allows us to fully replicate the Scottish STV result
2021-06-11 21:25:58 +10:00
RunasSudo 96a3eaec84
Implement --sum-surplus-transfers 2021-06-11 21:25:58 +10:00
RunasSudo 9d4cac2e89
Implement Scottish STV test case 2021-06-10 15:47:09 +10:00
RunasSudo 7ef5ae99b6
Add ERS97 test case 2021-06-09 20:09:20 +10:00