Update rcv.py to handle ties correctly

This commit is contained in:
Thomas (Tom) C. Gorordo 2026-06-12 15:05:27 -07:00 committed by GitHub
parent 8a324243b3
commit 38c2845c3c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -59,6 +59,9 @@ def pmg_from_rcv_bigslow(ballots: pl.DataFrame) -> rwx.PyDiGraph:
pmg.add_edge(nodes[a], nodes[b], a_wins - b_wins)
elif b_wins > a_wins:
pmg.add_edge(nodes[b], nodes[a], b_wins - a_wins)
else: # tie
pmg.add_edge(nodes[a], nodes[b], 0)
pmg.add_edge(nodes[b], nodes[a], 0)
return pmg
@ -105,6 +108,9 @@ def pmg_from_rcv_smallfast(ballots: pl.DataFrame) -> rwx.PyDiGraph:
pmg.add_edge(nodes[a], nodes[b], int(a_wins - b_wins))
elif b_wins > a_wins:
pmg.add_edge(nodes[b], nodes[a], int(b_wins - a_wins))
else: # tie
pmg.add_edge(nodes[a], nodes[b], 0)
pmg.add_edge(nodes[b], nodes[a], 0)
return pmg