def preCount(self): "MeekNZ STV: prepare for count" MeekSTV.preCount(self) self.strongTieBreakMethod = "random" # documentation only; we override breakStrongTie() self.surplusLimit = self.p / 10000 # 0.0001 per clause 13 # initialize PRNG per clause 42 prng = MeekNZSTV.NZprng(c=self.b.numCandidates, n=self.numSeats, v=self.b.numBallots) for c in self.continuing: rc = prng.next() while rc in self.prng_cands.values(): rc = prng.next() self.prng_cands[c] = rc
def inInfiniteLoop(self): "Detect hangs by looking for at keep factor changes" if MeekSTV.inInfiniteLoop(self): return True if (self.R > 1): for kf1, kf2 in zip(self.keepFactor[self.R-2], self.keepFactor[self.R-1]): if kf2 > kf1: # if any keep factor increased, we're in a loop return True return False
def inInfiniteLoop(self): "Detect hangs by looking for at keep factor changes" if MeekSTV.inInfiniteLoop(self): return True if (self.R > 1): for kf1, kf2 in zip(self.keepFactor[self.R - 2], self.keepFactor[self.R - 1]): if kf2 > kf1: # if any keep factor increased, we're in a loop return True return False