Python本机任意精度

时间:2011-07-20 14:37:19

标签: python arbitrary-precision

有没有办法以这样的方式编译Python的解释器,它可以使用本机(c)任意精度库,以便Python可以使用任意精度,就好像它是一个正常数字而不是必须使用十进制类?

EG。

>>0.00000001 + 1
1.00000001

1 个答案:

答案 0 :(得分:3)

如果您对内置decimal不满意,可以尝试几个实现更高精度浮点数的库。然而,他们中的大多数并不完全是“原生的” - 你可能会澄清你的意思以及为什么需要它。

  1. mpmath - 它提供了高精度浮点数的纯Python实现,但如果系统上支持它,它可以自动切换到GNU MP,它具有广泛的功能集< / LI>
  2. gmpy - 它为GNU MP库提供了一个包装器
  3. bigfloat - 它为GNU MPFR库提供了一个包装器(它基于GNU MP;由于它使用ctypes,包装器看起来不太有希望)
  4. 如果给定的性能关键部分需要,您可以直接使用Cython并使用上述任何库(例如GNU MP)。您还可以为您的用例制作一个特殊的Cython包装器。