import time class lcg (object): seed = 1.0 def __init__(self, m, a, c): self.m = m self.a = a self.c = c self.x = lcg.seed def rand(self): self.x = (self.a * self.x + self.c ) % self.m return self.x def compare_rngs(): # Seed the lcg so both instances start w/ the same value lcg.seed = time.time() # Instantiate two random number generators gnu_c = lcg(2**32, 1103515245, 12345) randu = lcg(2**31, 65539, 0) # Print 5 values from each RNG for i in range(5): print gnu_c.rand() print for i in range(5): print randu.rand()