It seems like Decimalit can't actually contain arbitrarily long numbers:
>>> d = Decimal('10') ** Decimal('100000000000000000000')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
decimal.Overflow: [<class 'decimal.Overflow'>]
In fact, I have never heard that arbitrarily large numbers are a point Decimal- just the right rounding and decimal places of arbitrary precision. If you need an arbitrarily long number, why do you need long ones, and in Python3 what you have.
>>> d = 10 ** 100000000000000000000
( . Mac, , ββi5 . , 1, , .)
, , ,, :
>>> from decimal import getcontext
>>> getcontext().Emax = 100000000000000000000
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: Python int too large to convert to C ssize_t