seeded_random.py 562 B

123456789101112131415161718192021
  1. import random
  2. class SeededRandom(random.Random):
  3. '''
  4. Random class wrapper, provided a seeded random number generator
  5. '''
  6. __instantiated = False
  7. def __init__(self, seed=0):
  8. '''
  9. Singleton class: the single instance "INFINITY" stands for infinity.
  10. '''
  11. if SeededRandom.__instantiated:
  12. raise NotImplementedError, "singleton class already instantiated"
  13. SeededRandom.__instantiatiated = True
  14. random.Random.__init__(self)
  15. self.seed(seed)
  16. Random = SeededRandom()