Commit Graph

84 Commits

Author SHA1 Message Date
RunasSudo 1ad1684e67
Visual improvements to HTML/JS interface 2021-05-25 01:12:47 +10:00
RunasSudo 5c185b386c
Adjust RNG algorithm 2021-05-23 01:44:03 +10:00
RunasSudo 9f198c5e0f
Validate constraints 2021-05-23 01:43:35 +10:00
RunasSudo 15c6f3debe
Add constraint support to JS client 2021-05-23 01:43:35 +10:00
RunasSudo 66f0734354
Implement constrained guarding/dooming of candidates 2021-05-23 01:43:24 +10:00
RunasSudo 64f698e182
Basic Otten constraints table iteration 2021-05-17 01:31:22 +10:00
RunasSudo 7e8af03933
Show help if specifying invalid CLI subcommand 2021-05-16 18:51:32 +10:00
RunasSudo 71de14ecfc
Display --no-bulk-elect as one stage on web version 2021-02-28 23:16:55 +11:00
RunasSudo b6327299a2
BLT editor: Implement BLT export 2021-01-25 20:41:13 +11:00
RunasSudo b109d99054
BLT editor: Basic BLT import functionality 2021-01-25 20:25:32 +11:00
RunasSudo 4205d9b262
Minor optimisations 2021-01-19 02:36:36 +11:00
RunasSudo 6f5ed93657
Add __slots__ back to BaseNum subclasses
Slightly improves performance: Senate count from 8.22 to 7.63s
2021-01-19 02:22:39 +11:00
RunasSudo 53657677a3
Optimise next_preferences algorithm to avoid re-examining earlier preferences
Senate count from 9.02 to 8.22s
2021-01-19 02:14:59 +11:00
RunasSudo dbb80de0cb
Use tree-packed ballots for Meek STV
Runtime on Senate data:
1m54s not tree packed
13s tree packed (!!!!!)
2021-01-16 02:21:38 +11:00
RunasSudo 37895d03ca
Fix --hide-excluded on CLI 2021-01-15 18:24:06 +11:00
RunasSudo a97b832b14
Update CLI commentary to match JS client 2021-01-15 18:22:26 +11:00
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