私はgmpy2
のメンテナーです。 gmpy2
は、MPFRをラップすることに加えて、GMP(整数および有理数の場合)およびMPC(複雑な算術の場合)もラップします。 MPFRとMPCの両方は、小数表現を使用するDecimal
と比較してバイナリ表現を使用します。
ここには、float128
に相当する使用例が簡単に示されています。 2.0.xのシリーズについて
>>> import gmpy2
>>> gmpy2.set_context(gmpy2.ieee(128))
>>> gmpy2.get_context()
context(precision=113, real_prec=Default, imag_prec=Default,
round=RoundToNearest, real_round=Default, imag_round=Default,
emax=16384, emin=-16493,
subnormalize=True,
trap_underflow=False, underflow=False,
trap_overflow=False, overflow=False,
trap_inexact=False, inexact=False,
trap_invalid=False, invalid=False,
trap_erange=False, erange=False,
trap_divzero=False, divzero=False,
trap_expbound=False,
allow_complex=False)
>>> gmpy2.sin(gmpy2.mpfr("1.2"))
mpfr('0.932039085967226349670134435494826026',113)
、gmpy2.ieee()
は、32、64、または128ビットのフォーマットをサポートするためのコンテキストを作成します。開発ブランチのサポートは、より広い範囲の精度です。
あなたの回答は[ドキュメント](https://docs.python.org/3/library/decimal.html)にあります。 – vaultah
@vaultah私は事前に文書を調べました。はい、正しく理解したかったと思います。 '.prec'が本当に** decimal **の場所を設定しているかどうかを調べたいと思っていました。例えば、... –
' decimal'は10進浮動小数点の実装なので、 '.prec'は小数点以下の桁数です。これはバイナリ形式の '__float128'以外の答えをあなたに与えます。 –