def test_unextract(self): testData = [42, 4190403025, 1303704821] + [random.getrandbits(32) for _ in range(10)] for seed in testData: for i in range(624): mt = mt19937.init(seed) rn = mt19937.extract_number(mt, i) tm = mt19937.unextract_number(rn, i) self.assertEqual(mt[i], tm)
def test_unextract(self): testData = [42, 4190403025, 1303704821 ] + [random.getrandbits(32) for _ in range(10)] for seed in testData: for i in range(624): mt = mt19937.init(seed) rn = mt19937.extract_number(mt, i) tm = mt19937.unextract_number(rn, i) self.assertEqual(mt[i], tm)
def findSeed(self, pg): rn = [0] * 624 tm = [0] * 624 for i in range(624): rn[i] = pg.getNumber() tm[i] = mt19937.unextract_number(rn[i], i) mt = mt19937.untwist(tm) seed = mt19937.uninit(mt) return seed