3

有没有办法编译 Python 的解释器,使其可以使用本机(c)任意精度库,以便 Python 可以像使用普通数字一样使用任意精度,而不必使用小数类?

例如。

>>0.00000001 + 1
1.00000001
4

1 回答 1

3

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

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