[][src]Crate tallystick

TallyMan is a work-in-progress rust library for tallying votes.

Compatibility

The tallystick crate currently needs nightly rust. It will move to stable when trait specialization is stabilized.

Modules

approval

Approval voting is a single-winner electoral system where each voter may select ("approve") any number of candidates. The winner is the most-approved candidate.

borda

The Borda count is a family of election methods in which voters rank candidates in order of preference. The Borda count determines the winner by giving each candidate, for each ballot, a number of points corresponding to the number of candidates ranked lower. Once all votes have been counted the candidate with the most points is the winner.

condorcet

The Condorcet method is a ranked-choice voting system that elects the candidate that would win a majority of the vote in all of the head-to-head elections against each of the other candidates.

plurality

Plurality voting is an electoral system in which each voter is allowed to vote for only one candidate and the candidate who polls the most among their counterparts (a plurality) is elected. It may be called first-past-the-post (FPTP), single-choice voting, simple plurality, or relative/simple majority.

schulze

The Schulze method is an voting system that selects a single winner using votes that express preferences. The method can also be used to create a sorted list of winners. The Schulze method is also known as Schwartz Sequential dropping (SSD), cloneproof Schwartz sequential dropping (CSSD), the beatpath method, beatpath winner, path voting, and path winner.

score

Score voting or "range voting" is an electoral system in which voters give each candidate a score, the scores are summed, and the candidate with the highest total is elected. It has been described by various other names including "evaluative voting", "utilitarian voting", and "the point system".

stv

The single transferable vote (STV) is a ranked choice voting system. Under STV, a voter has a single vote that is initially allocated to their most preferred candidate. Votes are totalled and a quota (the number of votes required to win) derived. If a candidate achieves quota, the candidate is elected and any surplus vote is transferred to other candidates in proportion to the voters' stated preferences. If no candidate achieves quota, the bottom candidate is eliminated with votes being transferred to other candidates as determined by the voters' stated preferences. These elections, eliminations, and vote transfers continue in rounds until the correct number of candidates are elected.

util

Utilities for parsing common vote formats

Structs

RankedWinners

RankedWinners is a ranked list of winning candidates, sorted according to rank. Ranks are in ascending order. A 0 ranked winner is more significant than a 3 ranked winner. Winners with the same rank are tied.

Enums

Quota

A quota defines how many votes are required to win an election in relation to the total number of votes cast.

TallyError

TallyError enum contains a list of all errors that may occur during a tally.

Traits

Numeric

A trait for numeric types used to count votes.