Mercurial > cpython-lru_cache-weakref
diff Lib/whrandom.py @ 1889:4e1ceaee2963 legacy-trunk
* Lib/whrandom.py: if seed is (0,0,0), initialize from current
time; default seed's arguments to (0,0,0)
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Wed, 14 Sep 1994 13:33:57 +0000 |
| parents | b464e1d0b2fb |
| children | f2f946bd7f47 |
line wrap: on
line diff
--- a/Lib/whrandom.py Wed Sep 14 13:32:22 1994 +0000 +++ b/Lib/whrandom.py Wed Sep 14 13:33:57 1994 +0000 @@ -35,24 +35,24 @@ # Without arguments, initialize from current time. # With arguments (x, y, z), initialize from them. # - def __init__(self, x = None, y = None, z = None): - if x is None: + def __init__(self, x = 0, y = 0, z = 0): + self.seed(x, y, z) + # + # Set the seed from (x, y, z). + # These must be integers in the range [0, 256). + # + def seed(self, x = 0, y = 0, z = 0): + if not type(x) == type(y) == type(z) == type(0): + raise TypeError, 'seeds must be integers' + if not 0 <= x < 256 and 0 <= y < 256 and 0 <= z < 256: + raise ValueError, 'seeds must be in range(0, 256)' + if 0 == x == y == z: # Initialize from current time import time t = int(time.time() % 0x80000000) t, x = divmod(t, 256) t, y = divmod(t, 256) t, z = divmod(t, 256) - self.seed(x, y, z) - # - # Set the seed from (x, y, z). - # These must be integers in the range [0, 256). - # - def seed(self, x, y, z): - if not type(x) == type(y) == type(z) == type(0): - raise TypeError, 'seeds must be integers' - if not 0 <= x < 256 and 0 <= y < 256 and 0 <= z < 256: - raise ValueError, 'seeds must be in range(0, 256)' self._seed = (x, y, z) # # Get the next random number in the range [0.0, 1.0).
