Commit Graph

294 Commits

Author SHA1 Message Date
a60283b9de
update cargo.lock 2024-03-16 20:28:21 +01:00
RunasSudo
582fdb8fe2
Add test case for Western Australia STV 2023-06-12 15:53:41 +10:00
RunasSudo
4cf9053681
Implement --surplus-assume-total
This replaces and extends the former --subtract-nontransferable option

#4
2023-06-11 21:47:55 +10:00
RunasSudo
c140ef0a90
Fix rounding of subtransfers by parcel
Was erroneously segmenting transfers by outgoing parcel rather than incoming parcel
2023-06-11 21:01:29 +10:00
RunasSudo
9fc0457844
Fix typo in documentation 2023-06-11 15:56:17 +10:00
RunasSudo
74d8829fbd
Modify WA Legislative Council STV preset to conform to WAEC's implementation 2023-06-11 15:31:55 +10:00
RunasSudo
ed44f4f8a2
Add documentation for Victorian Legislative Council STV validation 2023-02-19 18:03:27 +11:00
RunasSudo
f488d50f4d
Update description of presets 2023-02-08 21:38:52 +11:00
RunasSudo
ba6ad8964f
Add preset and test for Victorian Legislative Council STV 2023-02-08 21:38:52 +11:00
RunasSudo
eaf864062d
Implement --exclusion first_prefs_then_by_value 2023-02-07 21:12:26 +11:00
RunasSudo
0ee5fd3285
Update to prettytable 0.10.0
prettytable 0.8.0 has a bug leading to arithmetic overflow/segfault on latest Rust
2023-02-01 18:26:45 +11:00
RunasSudo
cece60dd69
Reduce unnecessary verbosity when only 1 vacancy 2023-02-01 18:26:45 +11:00
RunasSudo
ab0ec44049
Add test cases for 2021 Minneapolis elections 2022-11-20 18:59:21 +11:00
RunasSudo
b317affd08
Use --round-subtransfers per_ballot and --round-values 4 for Minneapolis STV 2022-11-20 18:59:02 +11:00
RunasSudo
1a1153b666
Defer surplus distribution if not affecting bulk exclusion, even if otherwise affecting trailing 2 candidates 2022-11-20 18:58:32 +11:00
RunasSudo
f7f9727146
Allow escaped quotation marks in BLT parser 2022-11-20 18:57:30 +11:00
RunasSudo
d068ce6137
Add draft functional specifications 2022-11-06 21:50:25 +11:00
RunasSudo
131d32c781
Disallow --no-immediate-elect with --quota-mode ers97/ers76 2022-11-06 14:57:19 +11:00
RunasSudo
631d4e770a
Hide CandidateMap iterator implementation details 2022-11-06 14:45:35 +11:00
RunasSudo
1a57fba093
CLI HTML output: Correctly generate print view for other report styles 2022-08-27 01:04:10 +10:00
RunasSudo
fafb093c1a
Allow print from CLI HTML output 2022-08-27 00:58:51 +10:00
RunasSudo
44ea09d7d3
Allow customising report style in CLI HTML output 2022-08-26 13:50:54 +10:00
RunasSudo
815055d6e6
Initial implementation of HTML output on CLI 2022-08-26 02:27:25 +10:00
RunasSudo
6bb127a124
Precompute Ballot::has_equal_rankings at parse time
Before: 5.3943 +- 0.0287
After: 5.27661 +- 0.00472
2022-08-25 21:49:50 +10:00
RunasSudo
254c04b574
Update nomenclature for van der Craats (‘Wright’) STV 2022-08-23 18:37:42 +10:00
RunasSudo
cb1cc5fb72
Clean up utility files 2022-08-22 19:19:22 +10:00
RunasSudo
395de771fa
Tidying up
Refactor STV options implementations into separate file
Fix/update documentation
2022-08-22 11:35:20 +10:00
RunasSudo
55f2e8816a
Update scripts 2022-08-21 07:31:32 +10:00
RunasSudo
823f06a32b
Refactor calculation of totals, etc. 2022-08-21 07:20:21 +10:00
RunasSudo
6ff111054c
Profile using binary input 2022-08-21 06:14:34 +10:00
RunasSudo
3902c37768
Refactor CandidateMap 2022-08-21 06:02:06 +10:00
RunasSudo
876be9c55a
Write more efficient implementation for CandidateMap which does not rely on hashing 2022-08-21 05:24:54 +10:00
RunasSudo
4ad02c052c
Refactor HashMap for Candidates into dedicated struct (CandidateMap) 2022-08-21 03:57:37 +10:00
RunasSudo
af4c6336aa
Utils for benchmarking and profiling 2022-08-21 03:56:54 +10:00
RunasSudo
974a56dffd
Improve performance of Candidate in HashMap by simplifying equality check 2022-08-20 23:39:15 +10:00
RunasSudo
422a198cf5
Use NoHashHasher for Candidate HashMaps to improve performance 2022-08-20 23:25:16 +10:00
RunasSudo
61b22b388d
Remove unnecessary usage of HashMap.contains_key 2022-08-20 22:43:57 +10:00
RunasSudo
9a4af322ca
Avoid more allocations in fold 2022-08-20 22:33:48 +10:00
RunasSudo
2bce8cfc3f
Avoid String allocations in BLT parser 2022-08-19 00:16:29 +10:00
RunasSudo
35104055d9
Avoid excess allocations during fold operations 2022-08-18 23:55:39 +10:00
RunasSudo
ee7ac064c7
Improve performance of realise_equal_rankings 2022-08-18 00:15:44 +10:00
RunasSudo
e825ca1491
Update for Rust 1.62
Add Cargo profile for profiling
2022-08-18 00:15:33 +10:00
RunasSudo
f187975601
--no-immediate-elect requires --surplus-order by_size 2022-07-02 23:46:02 +10:00
RunasSudo
566cdeb185
Permit --surplus meek with --quota-mode static 2022-06-18 23:07:00 +10:00
RunasSudo
2f6614c0c1
Update wasm-bindgen 2022-06-18 22:44:32 +10:00
RunasSudo
8d16f55289
Update for clap stable 2022-06-18 22:36:00 +10:00
RunasSudo
82e90a0e10
Update documentation 2022-06-18 02:02:00 +10:00
RunasSudo
384dde9c52
--subtract-nontransferable requires --surplus wig 2022-06-18 02:00:07 +10:00
RunasSudo
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
RunasSudo
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