VoteCasters: Votes are cast.



A single Preference

: also called a single vote.

These are the three ways to state a preference.

A preference is stored as data in the following ways:

Preference Lists


Ways to say how many votes.

Preference Tallies

Preference tallies tell how many votes have a listed preference.

Candidate Tallies

Candidate tallies are just tallies indexed by candidate. This is a way to combine preferences. We have defined tallies for each type of preference:

Outside of voteCasters, we sometimes use a loosely defined tally. It changes its definition depending on the type of vote.

Pairwise Tallies

Pairwise tallies are indexed by a pair of candidates. The winning candidate is first and the losing candidate is second. This is another way to combine preferences.


Some of the following object is output from a vote caster as the “votes” data structure.