summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2004-09-13 22:23:21 (GMT)
committerRaymond Hettinger <python@rcn.com>2004-09-13 22:23:21 (GMT)
commit23f1241dc6495eb255e1a389aef204a3e35a2632 (patch)
tree36ba60b6ea16729a8da357dde30b86de6ea55d9c /Lib
parent3e773fb6225a9da6fd3f45bad9ead3baa8979f02 (diff)
downloadcpython-23f1241dc6495eb255e1a389aef204a3e35a2632.zip
cpython-23f1241dc6495eb255e1a389aef204a3e35a2632.tar.gz
cpython-23f1241dc6495eb255e1a389aef204a3e35a2632.tar.bz2
SF #1027105: HardwareRandom should be renamed OSRandom
Renamed the new generator at Trevor's recommendation. The name HardwareRandom suggested a bit more than it delivered (no radioactive decay detectors or such).
Diffstat (limited to 'Lib')
-rw-r--r--Lib/random.py24
-rw-r--r--Lib/test/test_random.py8
2 files changed, 17 insertions, 15 deletions
diff --git a/Lib/random.py b/Lib/random.py
index 46a1b1f..f355eac 100644
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -52,7 +52,7 @@ __all__ = ["Random","seed","random","uniform","randint","choice","sample",
"expovariate","vonmisesvariate","gammavariate",
"gauss","betavariate","paretovariate","weibullvariate",
"getstate","setstate","jumpahead", "WichmannHill", "getrandbits",
- "HardwareRandom"]
+ "SystemRandom"]
NV_MAGICCONST = 4 * _exp(-0.5)/_sqrt(2.0)
TWOPI = 2.0*_pi
@@ -99,8 +99,8 @@ class Random(_random.Random):
def seed(self, a=None):
"""Initialize internal state from hashable object.
- None or no argument seeds from current time or from a hardware
- randomness source if available.
+ None or no argument seeds from current time or from an operating
+ system specific randomness source if available.
If a is not None or an int or long, hash(a) is used instead.
"""
@@ -603,8 +603,8 @@ class WichmannHill(Random):
def seed(self, a=None):
"""Initialize internal state from hashable object.
- None or no argument seeds from current time or from a hardware
- randomness source if available.
+ None or no argument seeds from current time or from an operating
+ system specific randomness source if available.
If a is not None or an int or long, hash(a) is used instead.
@@ -744,10 +744,12 @@ class WichmannHill(Random):
z = (z + a) % 256 or 1
self.__whseed(x, y, z)
-## -------------------- Hardware Random Source -------------------
+## --------------- Operating System Random Source ------------------
-class HardwareRandom(Random):
- """Alternate random number generator using hardware sources.
+class SystemRandom(Random):
+ """Alternate random number generator using sources provided
+ by the operating system (such as /dev/urandom on Unix or
+ CryptGenRandom on Windows).
Not available on all systems (see os.urandom() for details).
"""
@@ -767,13 +769,13 @@ class HardwareRandom(Random):
return x >> (bytes * 8 - k) # trim excess bits
def _stub(self, *args, **kwds):
- "Stub method. Not used for a hardware random number generator."
+ "Stub method. Not used for a system random number generator."
return None
seed = jumpahead = _stub
def _notimplemented(self, *args, **kwds):
- "Method should not be called for a hardware random number generator."
- raise NotImplementedError('Hardware entropy source does not have state.')
+ "Method should not be called for a system random number generator."
+ raise NotImplementedError('System entropy source does not have state.')
getstate = setstate = _notimplemented
## -------------------- test program --------------------
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index f30ed1f..b8d0b5d 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -164,8 +164,8 @@ class WichmannHill_TestBasicOps(TestBasicOps):
self.assertRaises(UserWarning, self.gen.randrange, 2**60)
warnings.filters[:] = oldfilters
-class HardwareRandom_TestBasicOps(TestBasicOps):
- gen = random.HardwareRandom()
+class SystemRandom_TestBasicOps(TestBasicOps):
+ gen = random.SystemRandom()
def test_autoseed(self):
# Doesn't need to do anything except not fail
@@ -496,11 +496,11 @@ def test_main(verbose=None):
TestModule]
try:
- random.HardwareRandom().random()
+ random.SystemRandom().random()
except NotImplementedError:
pass
else:
- testclasses.append(HardwareRandom_TestBasicOps)
+ testclasses.append(SystemRandom_TestBasicOps)
test_support.run_unittest(*testclasses)