added rotate function to even out bias from party => candidate list

This commit is contained in:
Jay Robson 2025-05-05 13:55:56 +10:00
parent acca1c2580
commit 9d217c6678
1 changed files with 3 additions and 1 deletions

View File

@ -1,5 +1,4 @@
use itertools::Itertools;
use crate::header::Header;
#[derive(Copy,Clone,Debug,PartialEq)]
@ -72,7 +71,10 @@ impl Ballot {
let mut votes = Vec::<usize>::new();
for party_id in self.votes {
let start = votes.len();
votes.extend(header.parties[party_id].member_ids.iter().copied());
let votes_end = &mut votes[start..];
votes_end.rotate_left(self.paper_id % votes_end.len());
}
Ballot {