Anti-Harassment Tools/SecurePoll Improvements/Test Results/20 9 5000 439818328

Comments
There is a discrepancy between the candidates SecurePoll and OpenSTV elect, due to how we deal with ties.

SecurePoll elects candidates 1, 2, 3, 4, 5, 6, 7 and 8, leaving the last seat empty.

OpenSTV elects candidates 1, 2, 3, 4, 5, 6, 7, 8 and 18, candidate 18 being chosen randomly.

It should be noted that between rounds 3 and 13, candidate 9 does technically have votes transferred to them. However, the number of votes is so small (~4.80449350E-17) that SecurePoll treats it as 0. In the "Result" column SecurePoll claims to be "Transferring votes", but this is not reflected in the "Tally" column.

See also round 12, where candidates 10, 11 and 12 are eliminated because they have 82 votes. Candidate 9 is shown as having 82 votes as well, but is not eliminated.

This is further confused by the fact that in 20_9_5000_1730013084 numbers as small as 7.810096726086052E-21 are displayed (as "0") in the "Tally" column (see round 3, for example).

This election was created during the testing of precision.

Election setup

 * Candidates: 20
 * Seats: 9
 * Votes: 5000

Actual results latest
Output from SecurePoll : actual

Output from SecurePoll : https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/20_9_5000_439818328.blt.php

SecurePoll tally page: https://vote.wikimedia.beta.wmflabs.org/wiki/Special:SecurePoll/tally/1449 (there is a bug which prevents this from being tallied at the moment.)

Expected
Output from OpenSTV: expected

Files

 * blt: https://github.com/dominic998/SecurePoll-Test-Data/blob/main/test_data/20_9_5000_439818328.blt

Environment

 * Where you tested: beta and local docker
 * Latest version of SecurePoll tested: SecurePoll 3.0.0 (543f6f0) 04:43, 12 August 2021.