A failing case:
>>> statistics.geometric_mean([0.7 for _ in range(5000)])
Traceback (most recent call last):
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 362, in float_nroot
isinfinity = math.isinf(x)
OverflowError: int too large to convert to float
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 595, in geometric_mean
s = 2**p * _nth_root(2**q, n)
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 346, in nth_root
return _nroot_NS.float_nroot(x, n)
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 364, in float_nroot
return _nroot_NS.bignum_nroot(x, n)
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 489, in bignum_nroot
b = 2**q * _nroot_NS.nroot(2**r, n)
File "/Users/mdickinson/Python/cpython-git/Lib/statistics.py", line 384, in nroot
r1 = math.pow(x, 1.0/n)
OverflowError: int too large to convert to float |