RunasSudo
99dbbcd5d5
Hide votes required for election in Meek STV
2021-09-10 02:41:40 +10:00
RunasSudo
c9b189fefe
Update quota/VRE in certain rare cases
2021-09-10 01:42:42 +10:00
RunasSudo
de19324d2c
Report vote required for election in relation to early bulk election
2021-09-10 01:32:31 +10:00
RunasSudo
ab3067566d
Fix bug attempting to defer surplus with 0 or 1 continuing candidates
...
Add regression test
2021-09-09 13:36:27 +10:00
RunasSudo
260dee1bb5
Fix bugs
...
Fix bug excluding-by-value/source candidates with no votes
Fix bug electing too many candidates if more reach the quota than vacancies remain
Add regression test
2021-09-09 01:24:50 +10:00
RunasSudo
e4bfe45f49
Display up to 5 names only in web UI header, separate with line breaks
2021-09-06 02:43:33 +10:00
RunasSudo
18c974117e
(cont.) Take num_to_exclude into consideration for bulk exclusion
2021-09-05 23:13:37 +10:00
RunasSudo
09c4a375a7
Better error messages when insufficient candidates to fill vacancies
2021-09-05 22:53:59 +10:00
RunasSudo
0a7189e54f
Complete ccc3266
2021-09-05 00:13:29 +10:00
RunasSudo
2475b42056
Calculate loss by fraction introduced by minivoters with equal rankings
2021-09-05 00:07:59 +10:00
RunasSudo
90971e976a
Fix --round-votes being ignored in first stage
2021-09-04 23:54:28 +10:00
RunasSudo
e3ca9fac47
Refactor stv::preprocess_election
2021-09-04 22:46:29 +10:00
RunasSudo
ccc3266d2c
Add signs to Votes display, change default to Votes (transposed)
2021-09-04 22:28:02 +10:00
RunasSudo
b0f869bf02
Initial framework for equal rankings
2021-09-04 01:56:04 +10:00
RunasSudo
59c1da794e
Implement transposed votes report
2021-08-22 17:53:55 +10:00
RunasSudo
88ab06d633
Add subcommand for BLT/CSP file conversion
2021-08-20 02:29:47 +10:00
RunasSudo
85b695c133
Improve performance of Scottish STV
...
Remove reliance on normalising ballot papers
2021-08-19 20:11:42 +10:00
RunasSudo
b9e66fde73
Correct number of ballot papers reported to be transferred in exclusive Gregory method
2021-08-17 01:56:43 +10:00
RunasSudo
8a3361f20d
Implement papers+votes report
2021-08-17 01:14:05 +10:00
RunasSudo
94787e7677
Store vote values at the parcel level rather than the vote level
...
~50% increase in performance
2021-08-16 00:46:05 +10:00
RunasSudo
eb3c7d0f53
Fix STVOptions::describe for --min-threshold
2021-08-09 23:27:58 +10:00
RunasSudo
9f1476da63
Complete ERS76 implementation and add test case
2021-08-09 19:50:49 +10:00
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
46e895ee5a
Correct handling of exhausted votes during random sample surplus distribution
2021-08-09 00:17:14 +10:00
RunasSudo
ae0d1d8411
Implement dynamic quotas
2021-08-08 21:41:10 +10:00
RunasSudo
ee1008b509
Prepare for dynamic quota: independent flag for completion of surplus transfers/exclusions
2021-08-08 21:35:03 +10:00
RunasSudo
dc78692c72
Use new names for STVOptions::describe
2021-08-07 23:27:11 +10:00
RunasSudo
b58922c57b
WIP: no immediate election?
2021-08-07 22:34:55 +10:00
RunasSudo
f706d7423b
Fix interaction between --exclusion parcels_by_order and --min-threshold when excluding candidates with 0 votes
2021-08-06 01:33:31 +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
f182ca02bd
Implement Cambridge STV - Cincinnati/Hare methods of surpluses
2021-08-03 18:38:45 +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
a2915b034b
Fix bug with attempted bulk exclusion during exclusion of doomed candidates
2021-08-02 00:24:41 +10:00
RunasSudo
ea8c452737
Prevent bulk election and bulk exclusion violating constraints
2021-08-02 00:10:17 +10:00
RunasSudo
116ff39fa5
Change tiebreaking prompt according to nature of tie
2021-07-31 17:51:09 +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
49feb09bf8
Prefer election by quota/VRE to early bulk election
2021-07-28 00:12:57 +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
4690c32607
Fix unnecessary recursion in ERS97 algorithm
2021-07-23 00:42:15 +10:00
RunasSudo
65b1d8e42b
Fix "Ex" display in web UI
2021-07-23 00:10:53 +10:00
RunasSudo
85eda02d4d
Make stage number link to comment
2021-07-23 00:04:43 +10:00
RunasSudo
3ea1eef7c5
Implement WA STV and update documentation
2021-07-22 00:41:20 +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
b5ee76f159
Further aggressive early bulk election
2021-07-21 10:59:06 +10:00
RunasSudo
ed4a86e699
More aggressive early bulk election
2021-07-21 00:46:32 +10:00
RunasSudo
f80875b583
Implement --exclusion by_source
2021-07-19 23:15:17 +10:00
RunasSudo
7f16090395
Fix crash on attempting segmented exclusion of candidate with no votes
2021-07-19 18:35:23 +10:00
RunasSudo
d144ab0cb4
Implement ERS76 rules
2021-07-18 21:14:37 +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
d697871414
Also bulk elect based on guarded candidates
2021-06-27 23:20:35 +10:00
RunasSudo
ba3db26263
Describe use of constraints in lead-in text
2021-06-27 22:24:25 +10:00
RunasSudo
1d4036c19e
Implement constraints in web UI
2021-06-27 22:09:34 +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
d46eb69f26
Implement Wright STV
2021-06-22 16:40:37 +10:00
RunasSudo
08821c3c18
Validate option combinations
2021-06-22 14:34:26 +10:00
RunasSudo
290ddad634
Show updated keep value after exclusion when --meek-nz-exclusion
2021-06-20 01:51:34 +10:00
RunasSudo
1b39b8b138
Implement --meek-nz-exclusion for NZ Meek STV
2021-06-20 01:48:25 +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
151c9e484e
Calculate loss by fraction in Meek STV
2021-06-16 21:51:13 +10:00
RunasSudo
8829fa5a7b
Update documentation
2021-06-16 21:51:12 +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
4845ebe52f
Implement --ties random
2021-06-13 03:15:15 +10:00
RunasSudo
266d8e2495
Report when and how ties are broken
2021-06-13 00:56:18 +10:00
RunasSudo
daeb706b44
Implement forwards/backwards tie-breaking in web UI
2021-06-13 00:39:49 +10:00
RunasSudo
2dc5ed963b
Implement forwards and backwards tie-breaking
2021-06-13 00:15:14 +10:00
RunasSudo
e059a6a3d9
Fixes to count description
2021-06-12 16:03:31 +10:00
RunasSudo
a89c949315
Fix description of quota options
2021-06-12 15:46:44 +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
537f1f0011
Fix regression with single stage exclusion
2021-06-09 22:34:44 +10:00
RunasSudo
a714ba6a90
Correctly apportion votes in bulk exclusions
2021-06-09 19:43:11 +10:00
RunasSudo
990704a56a
Implement --bulk-exclude and --defer-surpluses in web UI
2021-06-09 12:42:47 +10:00
RunasSudo
79f0f55942
Implement --defer-surpluses
2021-06-09 12:16:25 +10:00
RunasSudo
08cb03d85a
Implement --bulk-exclude
2021-06-08 22:22:43 +10:00
RunasSudo
d50af1161e
Implement --quota-mode ers97
2021-06-07 20:52:18 +10:00
RunasSudo
62eac6d0a6
Always display ballot weights to at least 2 decimal places
2021-06-06 02:35:40 +10:00
RunasSudo
830362416d
Fix logic error where loss by fraction not updated in multi-stage exclusions
2021-06-04 22:54:26 +10:00
RunasSudo
ceba059c53
Implement --numbers fixed
2021-06-04 22:05:48 +10:00
RunasSudo
ba8d9bf79c
Describe election count/options in web UI
2021-06-03 21:35:59 +10:00
RunasSudo
3bb538e99e
Further work on HTML output
2021-06-03 15:47:19 +10:00
RunasSudo
37622eb78d
Basic tabular output in HTML
2021-06-02 22:48:03 +10:00
RunasSudo
97a776ff79
Fix bug with --exclusion single_stage
2021-06-02 22:46:03 +10:00
RunasSudo
227c38a5fa
Initial quick port of HTML interface
2021-06-02 22:45:55 +10:00
RunasSudo
e88d2674d6
Implement --quota, --quota-criterion
2021-06-02 18:07:05 +10:00
RunasSudo
f6fba85049
Implement --round-{tvs,weights,quota}
...
Add test case for PRSA example election
2021-06-01 21:20:38 +10:00
RunasSudo
f1a730e885
Update WebAssembly build for recent changes
2021-06-01 19:04:03 +10:00