Skip to content

Minimum Vote Threshold expectation of >=, but uses > #954

@artoonie

Description

@artoonie

Bottoms-up using percentage threshold uses a percentage threshold where candidates over a threshold are elected (>). If you also set Minimum Vote Threshold, any candidate under that threshold are eliminated (<).

In Tabulator.java:494:

    // We can never set a winning threshold that's less than the minimum vote threshold specified in
    // the config.
    if (minimumVoteThreshold.signum() == 1
        && minimumVoteThreshold.compareTo(winningThreshold) == 1) {
      winningThreshold = minimumVoteThreshold;
    }

Which says

if (minimumVoteThreshold is positive
    AND minimumVoteThreshold > winningThreshold) {
  winningThreshold = minimumVoteThreshold;
}

This threshold is used as a > rather than a >=. That means if the Minimum Vote Threshold is set to 3, the winning threshold is set to 3, and therefore a candidate must have more than 3 votes to win.

Solutions are to either change the meaning of one of these to include equality, or to implement some special handling of this case.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions