我是维护者gmpy2
。除了包裹 MPFR 之外,gmpy2
还包装了 GMP(用于整数和有理数)和 MPC(用于复杂算术)。相比之下,MPFR 和 MPC 都使用二进制表示Decimal
它使用十进制表示。
这是一个简单的示例,显示了等效的使用float128
.
>>> 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)
对于 2.0.x 系列,gmpy2.ieee()
仅创建支持 32、64 或 128 位格式的上下文。开发分支支持更广泛的精度。