§
{<ˆjv ã óN — d Z ddlmZ ddlmZmZmZ ddlmZm Z d d„Z
d„ ZdgZdS )
zD
``python-future``: pure Python implementation of Python 3 round().
é )Údivision)ÚPYPYÚPY26Úbind_method)ÚDecimalÚROUND_HALF_EVENNc ó — d}|€d}d}t | d¦ « r| |¦ « S t d¦ « | z }dt t | ¦ « ¦ « v rt | ¦ « } t
| t ¦ « r| }n+t st j | ¦ « }nt | ¦ « }|dk rt ||z ¦ « |z }n| |t ¬¦ « }|rt |¦ « S t |¦ « S ) a©
See Python 3 documentation: uses Banker's Rounding.
Delegates to the __round__ method if for some reason this exists.
If not, rounds a number to a given precision in decimal digits (default
0 digits). This returns an int when called with one argument,
otherwise the same type as the number. ndigits may be negative.
See the test_round method in future/tests/test_builtins.py for
examples.
FNTr Ú __round__Ú10Únumpy)Úrounding)Úhasattrr
r ÚreprÚtypeÚfloatÚ
isinstancer Ú
from_floatÚ
from_float_26ÚnewroundÚquantizer Úint)ÚnumberÚndigitsÚ
return_intÚexponentÚdÚresults új/builddir/build/BUILD/cloudlinux-venv-1.0.12/venv/lib/python3.11/site-packages/future/builtins/newround.pyr r
s € ð €J؀؈
؈݈v�{Ñ#Ô#ð )Ø×Ò Ñ(Ô(Ð(å�t‰}Œ} ' Ñ*€Hð •$•t˜F‘|”|Ñ$Ô$Ð$Ð$Ý�v‘”ˆå�&�'Ñ"Ô"ð &؈ˆåð &ÝÔ" 6Ñ*Ô*ˆAˆAå˜fÑ%Ô%ˆAà�‚{€{ݘ!˜h™,Ñ'Ô'¨(Ñ2ˆˆà—’˜H�Ñ?Ô?ˆàð Ý�6‰{Œ{Ðå�V‰}Œ}Ðó c óæ — ddl }ddlm} t | t t
f¦ « rt
| ¦ « S | | ¦ « s| | ¦ « rt
t | ¦ « ¦ « S |
d| ¦ « dk rd}nd}t | ¦ « ¦ « \ }}d„ } ||¦ « dz
} ||t |d|z z ¦ « | ¦ « }|S )aî Converts a float to a decimal number, exactly.
Note that Decimal.from_float(0.1) is not the same as Decimal('0.1').
Since 0.1 is not exactly representable in binary floating point, the
value is stored as the nearest representable value which is
0x1.999999999999ap-4. The exact equivalent of the value in decimal
is 0.1000000000000000055511151231257827021181583404541015625.
>>> Decimal.from_float(0.1)
Decimal('0.1000000000000000055511151231257827021181583404541015625')
>>> Decimal.from_float(float('nan'))
Decimal('NaN')
>>> Decimal.from_float(float('inf'))
Decimal('Infinity')
>>> Decimal.from_float(-float('inf'))
Decimal('-Infinity')
>>> Decimal.from_float(-0.0)
Decimal('-0')
r N)Ú_dec_from_tripleg ð?é c ój — | dk r,t t t | ¦ « ¦ « ¦ « dz
S dS )Nr é )ÚlenÚbinÚabs)r s r Ú
bit_lengthz!from_float_26.