(irv ballots
&
{:keys [tbrc all-rounds]
:or {tbrc (-> ballots first keys sort vec) all-rounds false}})
Perform an election using instant runoff. Every ballot should contain a complete and strict ranking of the candidates. Returns a priority map with candidate keys and values of vectors representing the number of votes that candidate had accumulated in each successive round.
:tbrc specifies the order ties should be broken in favour of when eliminating candidates. Should be a vector of all candidates from most preferred (to win a tie) to least preferred. Defaults to the result of sort on the candidates.
If :all-rounds is true (default: false) the runoff until all but one candidates have been eliminated. Otherwise the runoff will stop once a candidate reaches a majority.
Perform an election using instant runoff. Every ballot should contain a complete and strict ranking of the candidates. Returns a priority map with candidate keys and values of vectors representing the number of votes that candidate had accumulated in each successive round. :tbrc specifies the order ties should be broken in favour of when eliminating candidates. Should be a vector of all candidates from most preferred (to win a tie) to least preferred. Defaults to the result of sort on the candidates. If :all-rounds is true (default: false) the runoff until all but one candidates have been eliminated. Otherwise the runoff will stop once a candidate reaches a majority.
cljdoc builds & hosts documentation for Clojure/Script libraries
Ctrl+k | Jump to recent docs |
← | Move to previous article |
→ | Move to next article |
Ctrl+/ | Jump to the search field |