tallyman is a work-in-progress rust library for tallying votes.
Current state is very unstable. It is not currently recommended for use. See checkboxes below for a list of features that are complete.
no_std
for embedded use.wasm
support for use in the browser, or in blockchain smart contracts.rational
support for perfectly-precise tallies by using rational fractions instead of floats.| Status¹| Tally Method | Supported Variants | Performance² | Notes | | -------|-------------------|--------------------------------------|------------------|---------------------------| | ✓ | Plurality | | 100 million v/s | First Past the Post (FPTP)| | ⚠ | Score | | | | | ⚠ | Approval | | | | | ⚠ | STV | Newland-Britton, Meek, Warren | 3 million v/s | Single Transferable Vote | | | CPO-STV | | | | | | Instant Runoff | | | | | | Contingent | | | | | ⚠ | Condorcet | | 2 million v/s | | | | Copeland | | | | | | Schulze | Winning, Margin, Ratio | | | | | Schulze STV | | | | | | Kemeny–Young | | | | | | Minimax | | | | | ✓ | Borda | Classic, Dowdall, Modified | 3 million v/s | | | | Borda - Nanson | Classic, Dowdall, Modified | | | | | Borda - Baldwin | Classic, Dowdall, Modified | | | | | Dodgson | Quick, Tideman | | | | | Ranked pairs | Margin, Winning | | | | | STAR | | | | | | Majority judgment | | | | | | D'Hondt | Sainte-Laguë, Huntington-Hill, Quota | | |