Commit Graph

153 Commits

Author SHA1 Message Date
876be9c55a
Write more efficient implementation for CandidateMap which does not rely on hashing 2022-08-21 05:24:54 +10:00
4ad02c052c
Refactor HashMap for Candidates into dedicated struct (CandidateMap) 2022-08-21 03:57:37 +10:00
422a198cf5
Use NoHashHasher for Candidate HashMaps to improve performance 2022-08-20 23:25:16 +10:00
61b22b388d
Remove unnecessary usage of HashMap.contains_key 2022-08-20 22:43:57 +10:00
9a4af322ca
Avoid more allocations in fold 2022-08-20 22:33:48 +10:00
35104055d9
Avoid excess allocations during fold operations 2022-08-18 23:55:39 +10:00
e825ca1491
Update for Rust 1.62
Add Cargo profile for profiling
2022-08-18 00:15:33 +10:00
f187975601
--no-immediate-elect requires --surplus-order by_size 2022-07-02 23:46:02 +10:00
566cdeb185
Permit --surplus meek with --quota-mode static 2022-06-18 23:07:00 +10:00
82e90a0e10
Update documentation 2022-06-18 02:02:00 +10:00
384dde9c52
--subtract-nontransferable requires --surplus wig 2022-06-18 02:00:07 +10:00
2987eca0c3
Do not defer a surplus distribution if it exactly equals the difference between the 2 trailing candidates (as, depending on tie-breaking rules, this could change the order of exclusion) 2022-06-18 01:59:29 +10:00
8cc694e609
Cosmetic improvements
Hide transfers column in transposed report if no transfers
Report "Rollback complete" at end of stage when completed
2022-04-21 21:56:21 +10:00
c2621b2965
Improve messages for --constraint-mode repeat_count 2022-04-20 20:12:50 +10:00
f0e3b02051
Autodetect when to normalise ballots, remove explicit --normalise-ballots 2022-04-20 19:54:58 +10:00
03af86733e
Initial implementation of --constraint-mode repeat_count 2022-04-20 19:42:20 +10:00
df9223ebe6
Implement --round-subtransfers by_parcel for NSW Local Government rules 2022-03-27 21:33:55 +11:00
26d45cac50
Implement --subtract-nontransferable for NSW Local Government rules 2022-03-25 02:46:30 +11:00
8af0fa1178
Complete implementation and tests for NSW Local Government STV 2022-03-23 01:55:02 +11:00
c5d6b8d460
Refactor implementation of --sum-surplus-transfers -> --round-subtransfers in preparation for NSW Local Gov't STV 2022-03-23 00:35:00 +11:00
d94549dc42
Initial implementation of NSW Local Government STV 2022-03-21 21:15:17 +11:00
9fcb643fe5
Avoid wrapping candidate names/statuses in HTML report 2022-03-14 22:27:58 +11:00
544d7fea5d
Update dates 2022-03-11 15:44:28 +11:00
6968df5c9b
Fix incorrect crediting of votes when surplus votes transferred at values received
Many thanks to J Groves for pointing this out
2022-03-11 13:33:28 +11:00
6304e1128a
Validate well-formedness of constraints, better constraint errors 2021-10-29 23:33:27 +11:00
ba82828046
Fix web UI crash when tie requires manual intervention in first stage 2021-10-29 20:28:50 +11:00
15614a4e8f
rust-clippy linting 2021-10-28 00:30:55 +11:00
69bc30b333
Downgrade some FIXMEs 2021-10-26 00:55:49 +11:00
414a1482c3
Implement dynamic dispatch for different number types 2021-10-19 14:52:08 +11:00
5a53574366
Allow opting out of building default wasm bindings 2021-10-18 18:06:42 +11:00
047a53d0d9
Ignore --round-surplus-fractions with Hare method 2021-09-27 19:19:33 +10:00
93cb72c33a
Update terminology and remove "stratify (floor)" support
Cincinnati -> Inclusive Hare (previous usage was erroneous/nonstandard)
Every n-th ballot -> Cincinnati
Remove "stratify (floor)" as it is not in contemporary use
2021-09-27 19:02:30 +10:00
cf75943829
Fixes to edge cases in stratify (LR) sample method 2021-09-26 02:27:37 +10:00
3a4e53e1f0
Implement Dáil Éireann STV 2021-09-14 23:13:45 +10:00
a641b97d1f
More work on unit/integration tests 2021-09-14 02:27:35 +10:00
59f79444e8
Show only continuing candidates in detailed transfers table 2021-09-12 00:24:48 +10:00
df1b2f7bdc
Implement detailed transfers in web UI 2021-09-11 21:08:36 +10:00
9817d6c199
Implement --transfers-detail 2021-09-11 18:42:15 +10:00
056242514d
Implement TransferTable for surpluses (WIP) 2021-09-11 02:43:11 +10:00
fbdc32ba30
Implement TransferTable for exclusions (WIP) 2021-09-11 01:19:38 +10:00
99dbbcd5d5
Hide votes required for election in Meek STV 2021-09-10 02:41:40 +10:00
c9b189fefe
Update quota/VRE in certain rare cases 2021-09-10 01:42:42 +10:00
de19324d2c
Report vote required for election in relation to early bulk election 2021-09-10 01:32:31 +10:00
ab3067566d
Fix bug attempting to defer surplus with 0 or 1 continuing candidates
Add regression test
2021-09-09 13:36:27 +10:00
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
e4bfe45f49
Display up to 5 names only in web UI header, separate with line breaks 2021-09-06 02:43:33 +10:00
18c974117e
(cont.) Take num_to_exclude into consideration for bulk exclusion 2021-09-05 23:13:37 +10:00
09c4a375a7
Better error messages when insufficient candidates to fill vacancies 2021-09-05 22:53:59 +10:00
0a7189e54f
Complete ccc3266 2021-09-05 00:13:29 +10:00
2475b42056
Calculate loss by fraction introduced by minivoters with equal rankings 2021-09-05 00:07:59 +10:00