Raymond Hettinger <raymond.hettin...@gmail.com> added the comment:

The hypothesis that time.time() is returning NaN doesn't match the provided 
traceback.  If time.time() had returned NaN, the exception would have happened 
earlier, on line 113 in random.py:  long(time.time() * 256)

I'm wondering if the NaN arises in the C code for random():

random_random(RandomObject *self)
{
    unsigned long a=genrand_int32(self)>>5, b=genrand_int32(self)>>6;
    return PyFloat_FromDouble((a*67108864.0+b)*(1.0/9007199254740992.0));
}

Upstream from that, only integers are used, so this would be the earliest a NaN 
could arise when running the code in choice():  ``return seq[int(self.random() 
* len(seq))]``

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue14028>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to