summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1998-02-16 14:52:42 +0000
committerGuido van Rossum <guido@python.org>1998-02-16 14:52:42 +0000
commit358473c1a2a692a496bbbeca330c1e4d52fc78b0 (patch)
tree8fa13b3a6433938b016309b43e1b296835a21bcc
parent1aedbd8b0aabdb2a68748df4d1f10e2577e8d027 (diff)
downloadcpython-git-358473c1a2a692a496bbbeca330c1e4d52fc78b0.tar.gz
Andrew Kuchling writes:
First, the RNG in whrandom.py sucks if you let it seed itself from the time. The problem is the line: t = int((t&0xffffff) | (t>>24)) Since it ORs the two parts together, the resulting value has mostly ON bits. Change | to ^, and you don't lose any randomness.
-rw-r--r--Lib/whrandom.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/Lib/whrandom.py b/Lib/whrandom.py
index bd2dcf7bef..95e88f3399 100644
--- a/Lib/whrandom.py
+++ b/Lib/whrandom.py
@@ -50,7 +50,7 @@ class whrandom:
# Initialize from current time
import time
t = long(time.time() * 256)
- t = int((t&0xffffff) | (t>>24))
+ t = int((t&0xffffff) ^ (t>>24))
t, x = divmod(t, 256)
t, y = divmod(t, 256)
t, z = divmod(t, 256)