3 releases
0.0.5 | Jan 31, 2023 |
---|---|
0.0.2 | Apr 9, 2019 |
0.0.1 | Jan 29, 2019 |
#288 in Science
150KB
3.5K
SLoC
Wybr
Wybr is a yet another Rust library implementing some methods of counting votes in preferential elections.
Capabilities
- Read a blt file, as specified in Algorithm 123 paper with OpenSTV extensions for equal votes.
- Tideman alternative count with common variants.
- Borda count with common variants, also usable as plurality voting.
- Nanson method.
- Baldwin method.
- Instant run-off.
- Meek STV count with fixed-point arithmetic, also with Warren variant and few quota options.
- Minimax count.
- Tideman ranked pairs method with common variants.
- Schulze count, in a basic, but most popular form (without advanced tie-breaking).
- Find Smith and Schwartz sets.
- Uses pseudo-random tie breaking in a reproducible way and inform user if the count is deterministic.
- Usable (hopefully) errors, no by-design panics.
Ugly parts
- Not battle tested nor audited.
- Fixed types for candidates and scores.
- Inefficient algorithms and data structures here and there.
- Hobby project.
- Poor documentation.