The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Vote::Count::Common

VERSION 1.10

Synopsis

This Role is consumed by Vote::Count and Vote::Count::Matrix. It provides common methods for the Active Set.

Usage

This role is consumed by Vote::Count and Vote::Count::Matrix.

new

Has the following Attributes:

WithdrawalList

A text file containing choices 1 per line that are withdrawn. Use when a choice may be included in the ballots but should be treated as not-present. Removing a choice from the choices list in a Ballot File will generate an exception from ReadBallots if it appears on any Ballots. Withdrawing a choice will exclude it from the Active Set if it is present in the Ballots.

VoteValue

Use to set a Vote Value for methods that weight votes. The default value is 1.

Active

Get Active Set as HashRef to the active set. Changing the new HashRef will change the internal Active Set, GetActive is recommended as it will return a HashRef that is a copy instead.

GetActive

Returns a hashref containing a copy of the Active Set.

Choices

Returns an array of all of the Choices in the Ballot Set.

GetActiveList

Returns a simple array of the members of the Active Set.

ResetActive

Sets the Active Set to the full choices list of the BallotSet.

SetActive

Sets the Active Set to provided HashRef. The values to the hashref should evaluate as True.

SetActiveFromArrayRef

Same as SetActive except it takes an ArrayRef of the choices to be set as Active.

BallotSet

Get BallotSet

GetBallots

Get just the Ballots from the BallotSet.

PairMatrix

Get a Matrix Object for the Active Set. Generated and cached on the first request.

UpdatePairMatrix

Regenerate and cache Matrix with current Active Set.

VotesCast

Returns the number of votes cast.

VotesActive

Returns the number of non-exhausted ballots based on the current Active Set.

VoteValue

Sets a VoteValue for use in weighted systems like STV. The default value is 1. Approval and TopCount are aware of VoteValue for RCV ballots.

BUG TRACKER

https://github.com/brainbuz/Vote-Count/issues

AUTHOR

John Karr (BRAINBUZ) brainbuz@cpan.org

CONTRIBUTORS

Copyright 2019 by John Karr (BRAINBUZ) brainbuz@cpan.org.

LICENSE

This module is released under the GNU Public License Version 3. See license file for details. For more information on this license visit http://fsf.org.