Implementaion of random.shuffle

George Sakkis george.sakkis at gmail.com
Wed Jul 18 15:32:35 EDT 2007


On Jul 16, 10:51 pm, Steven D'Aprano
<ste... at REMOVE.THIS.cybersource.com.au> wrote:
> On Mon, 16 Jul 2007 16:55:53 +0200, Hrvoje Niksic wrote:
> > 2**19937 being a really huge number, it's impossible to exhaust the
> > Mersenne twister by running it in sequence.
>
> "Impossible"?
>
> Surely this will do it:
>
> for n in xrange(2**19937 + 1):
>     random.random()
>
> Admittedly, if each call to random() took a picosecond, it would still
> take 1e5982 centuries to run through the lot. You might want to go make a
> coffee or something while you're waiting...

Wow, can you make a coffee in.. 57ms ?

$ time python -c "for n in xrange(2**19937 + 1): random.random()"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
OverflowError: long int too large to convert to int

real    0m0.057s
user    0m0.050s
sys     0m0.000s


Time-flies-like-an-arrow-ly y'rs ;-)

George




More information about the Python-list mailing list