org.bolson.vote
Class Approval

java.lang.Object
  extended by org.bolson.vote.VotingSystem
      extended by org.bolson.vote.Approval
All Implemented Interfaces:
java.io.Serializable

public class Approval
extends VotingSystem

Election method based on summation of Yes/No "good enough" votes. This class contains utility code for thresholding data at various points.

See Also:
Serialized Form

Field Summary
 double dthresh
          threshold for voteRating(double[])
 float fthresh
          threshold for voteRating(float[])
 int ithresh
          threshold for voteRating(int[])
protected  int[] talley
           
 
Fields inherited from class org.bolson.vote.VotingSystem
debug, NO_VOTE, numc
 
Constructor Summary
Approval(int numCandidates)
           
 
Method Summary
 int[] getWinners()
          Do processing if necessary, return winners.
 java.lang.String htmlSummary(java.lang.String[] names)
          A fancy html representation.
 java.lang.String name()
          Return name of this voting system.
 java.lang.String toString()
           
 java.lang.String toString(java.lang.String[] names)
          A more interesting representation.
 int voteRanking(int[] ranking)
          Choices above (ranked less than or equal to) "(numc+1) / 2" are voted as "approved".
 int voteRating(double[] rating)
           
 int voteRating(float[] rating)
           
 int voteRating(int[] rating)
           
 
Methods inherited from class org.bolson.vote.VotingSystem
checkRatedVote, getDebugHTML, getDebugText, getNumberOfCandidates, getWinners, getWinners, getWinners, init, isValidRankedVote, isValidRatedVote, normalize, normalize, normalize, normalize, normalize, normalizeL2, normalizeL2, normalizeL2, normalizeL2, normalizeL2, stretch, voteRating
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ithresh

public int ithresh
threshold for voteRating(int[])


fthresh

public float fthresh
threshold for voteRating(float[])


dthresh

public double dthresh
threshold for voteRating(double[])


talley

protected int[] talley
Constructor Detail

Approval

public Approval(int numCandidates)
Method Detail

name

public java.lang.String name()
Description copied from class: VotingSystem
Return name of this voting system. This is a function so that it can potentially construct a detailed name based on options set in init().

Overrides:
name in class VotingSystem
Returns:
a descriptive name

voteRating

public int voteRating(int[] rating)
Specified by:
voteRating in class VotingSystem
Parameters:
rating - An array int[numc]. rating[i] is the rating of choice i. A rating can be any int value. Higher means more preferred. NO_VOTE for unrated.
Returns:
0 on success

voteRating

public int voteRating(float[] rating)
Specified by:
voteRating in class VotingSystem
Parameters:
rating - An array int[N]. rating[i] is the rating of choice i. A rating can be any int value. Higher means more preferred. NO_VOTE for unrated.
Returns:
0 on success

voteRating

public int voteRating(double[] rating)
Specified by:
voteRating in class VotingSystem
Parameters:
rating - An array int[N]. rating[i] is the rating of choice i. A rating can be any int value. Higher means more preferred. NO_VOTE for unrated.
Returns:
0 on success

voteRanking

public int voteRanking(int[] ranking)
Choices above (ranked less than or equal to) "(numc+1) / 2" are voted as "approved".

Specified by:
voteRanking in class VotingSystem
Parameters:
ranking - int[numc]
Returns:
0 on success

getWinners

public int[] getWinners()
Description copied from class: VotingSystem
Do processing if necessary, return winners.

It is recommended to cache the return value in such a way that calling this function again does not do complex recalculation. That cache should be cleared if voteRating or voteRanking is called.

Specified by:
getWinners in class VotingSystem
Returns:
indecies of winners (hopefully 1 of them)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toString

public java.lang.String toString(java.lang.String[] names)
Description copied from class: VotingSystem
A more interesting representation. Include the names of the choices voted upon in the representation.

Specified by:
toString in class VotingSystem
Parameters:
names - The names of the choices.
Returns:
state, with names!

htmlSummary

public java.lang.String htmlSummary(java.lang.String[] names)
Description copied from class: VotingSystem
A fancy html representation. Include the names of the choices voted upon in the representation.

Specified by:
htmlSummary in class VotingSystem
Parameters:
names - The names of the choices. May be null.
Returns:
state, with names!