STINNER Victor added the comment:

OverflowError makes sense because math.factorial(10**19) will overflow in 
CPython on common platforms, even if it didn't overflowed yet.

On a supercomputer with a different Python implementation, you may be able to 
compute it.

IMO An OverflowError is specific to a platform and Python implementation, 
whereas ValueError is "portable": any Python implementation must raise such 
error.

I can imagine that a Python implementation may return a pseudo-int type which 
is supposed to be the result of math.factorial(), so you can compute for 
example math.factorial(10**19) % 2 (hint: result is 0).

----------

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

Reply via email to