RunasSudo
d5db9b5df6
Report method of breaking ties
2021-01-15 16:06:27 +11:00
RunasSudo
1e2f74e60b
Fix bug where withdrawn candidates would interfere with bulk exclusion, etc. logic
2021-01-15 16:00:22 +11:00
RunasSudo
1bc0aaf03c
Report --numbers gfixed in describe_options
2021-01-15 15:23:55 +11:00
RunasSudo
f534c983cd
Implement guarded fixed-point arithmetic
2021-01-14 22:31:24 +11:00
RunasSudo
f724ae0b93
Fix bug in --numbers fixed in Python where results would not be rounded after division
2021-01-14 02:17:16 +11:00
RunasSudo
6612c35d4a
Fix bug/typo leading to incorrect --ties prompt behaviour in Python
2021-01-14 00:16:36 +11:00
RunasSudo
77c5cfca75
Fix bug/handling of withdrawn candidates in Meek STV
2021-01-13 22:40:59 +11:00
RunasSudo
5f9d18cb04
Add additional tests for other rounding types
2021-01-13 22:38:53 +11:00
RunasSudo
d23eee79bb
Refactor/DRY Gregory method implementations
2021-01-13 00:25:51 +11:00
RunasSudo
ad7efe3133
Add tests for tie breakers
2021-01-12 23:54:56 +11:00
RunasSudo
5812b252d8
Correct some bugs and add additional test cases
...
Fix describing election with only --ties prompt
Return JS number from SHARandom
2021-01-12 03:51:57 +11:00
RunasSudo
fccb36ffbd
Add test coverage reporting
2021-01-12 03:15:58 +11:00
RunasSudo
c78a30d5b2
Report transfer values in detailed comments
2021-01-10 02:05:02 +11:00
RunasSudo
235c17b33a
Add detailed commentary to JS report sheet
2021-01-09 23:58:25 +11:00
RunasSudo
c3c2fed444
Correct bug/logic error in ERS97
...
Do not double-count surpluses of elected candidates towards total active vote
2021-01-09 04:55:27 +11:00
RunasSudo
ede1da73ad
Add detailed comments per stage
2021-01-09 04:55:27 +11:00
RunasSudo
bd5910e7f6
Refactor Gregory method classes into pyRCV2.method.gregory package
2021-01-08 19:21:33 +11:00
RunasSudo
39d0adbd0d
Implement Meek STV
2021-01-08 19:16:56 +11:00
RunasSudo
04f1b9c177
Fix bug in ERS97 implementation
...
Do not attempt to elect candidates already elected
2021-01-07 03:59:49 +11:00
RunasSudo
7ee56f97f8
Display order of election in count report
2021-01-05 03:50:39 +11:00
RunasSudo
60008d1e84
Add forwards tie breaking
2021-01-05 01:27:30 +11:00
RunasSudo
64d23751a5
Fix bugs in ERS97 implementation
...
Re-calculate votes required for election after electing a candidate
Round votes required for election up in accordance with vote rounding
2021-01-04 20:46:18 +11:00
RunasSudo
0b3651d450
Display error message in JS version when known STVException
2021-01-04 19:34:55 +11:00
RunasSudo
6b5c188668
Adjust PRSA 1977 implementation
...
Count in votes to 3 decimal places
Round transfer values correctly
2021-01-04 18:10:07 +11:00
RunasSudo
fb33a96d37
Implement ERS97
2021-01-04 17:26:11 +11:00
RunasSudo
1f4c7f8efe
Tweak CLI interface
...
Default to "prompt" for ties
Allow hiding excluded candidates and sorting by votes in count report
2021-01-03 19:16:48 +11:00
RunasSudo
61601f05cc
Make Wright method a variant of regular STV as an exclusion method
2021-01-03 19:04:14 +11:00
RunasSudo
8d7a1ea1f9
Optimisations for number handling
...
DRY number classes
Implement __iadd__, etc. for better performance
2021-01-03 18:39:32 +11:00
RunasSudo
673b531475
Optimisation: Do not re-sort already sorted parcels in exclusion by_value
2021-01-03 17:20:13 +11:00
RunasSudo
891f82e148
Fix bug in JS implementation of exclusive Gregory
...
Remove dependency on Transcrypt's itertools.groupby as this does not appear to work
2021-01-03 02:05:49 +11:00
RunasSudo
3b9a98fabd
Improve pretty printing
...
Print stage of count
Avoid printing too many decimal places in JS client
2021-01-03 02:05:15 +11:00
RunasSudo
e219969711
Expose advanced rounding options in count software
2021-01-03 01:23:11 +11:00
RunasSudo
a3d79e993a
Implement advanced rounding functionality in API
2021-01-03 00:29:41 +11:00
RunasSudo
7b52f8f06d
Remove native integers mode in preparation for more advanced rounding options
2021-01-03 00:29:24 +11:00
RunasSudo
8a304aedcf
Fix/tweak numbers implementation
...
Round fixed point decimals in initialiser to match Python behaviour
Add pretty printing for Python
2021-01-02 23:35:17 +11:00
RunasSudo
0b567e66e3
Rename parcels_by_value to by_value and update documentation
2020-12-31 16:50:19 +11:00
RunasSudo
29c15645b4
Fix bug in STV implementation
...
Do not allow surplus transfers to interrupt a candidate exclusion
2020-12-31 01:51:13 +11:00
RunasSudo
61506f0082
Implement exclusion of parcels by value + Senate STV
2020-12-30 02:33:09 +11:00
RunasSudo
803941a53a
Raise Exception in Python when attempting to operate on incompatible types, as this will be invalid in JS
2020-12-30 02:32:36 +11:00
RunasSudo
f0e8bac4b7
Add test case based on CSM15 ballot data
2020-12-29 22:55:21 +11:00
RunasSudo
509768c071
Separate out parcel handling logic
2020-12-29 02:43:37 +11:00
RunasSudo
ec75a61406
Fix error/bug with Wright STV in Python CLI
2020-12-28 01:14:19 +11:00
RunasSudo
c9ff0a16fb
Fix error/bug when excluding candidates in exclusive Gregory
2020-12-27 23:30:54 +11:00
RunasSudo
7ad142f19d
Implement prompting for ties
2020-12-27 23:28:16 +11:00
RunasSudo
4e06dfe068
Minor tweaks
...
Show progressive transfers during exclusive Gregory exclusion
Don't perform bulk election in the middle of an exclusion
Limit decimals displayed if using fixed numbers with < 2 dps
2020-12-27 21:50:30 +11:00
RunasSudo
f6596bd8e8
Implement exclusive Gregory and PRSA 1977 rules
2020-12-27 21:25:40 +11:00
RunasSudo
8307ebf86c
Rename base WIG/UIG classes
2020-12-27 18:57:36 +11:00
RunasSudo
81dbadb8ae
Fix error/bug in unweighted inclusive Gregory implementation
2020-12-27 18:55:29 +11:00
RunasSudo
d1528ee987
Implement option to disable bulk election
2020-12-27 18:28:35 +11:00
RunasSudo
503fed26d1
Implement backwards tie breaking
2020-12-24 01:36:39 +11:00