【问题标题】:how to work with arbitrarily large numbers in cython?如何在 cython 中处理任意大的数字?
【发布时间】:2021-08-18 12:48:48
【问题描述】:

我正在尝试在 cython 中实现 miller-rabin 算法来检查非常大的素数的素数。另一方面,我不确定如何在 cython 中存储和使用非常大的数字(即 2^2048)。有没有一种简单的方法可以在 cython 中处理任意大的数字?

【问题讨论】:

  • 整数在 Python 中具有无限精度,所以只需使用它们
  • 在 cython 中使用 python 整数工作,但它不会得到任何实质性的加速。希望有一种直接使用cython的方法。
  • 一个(相当丑陋的)替代方案可能是在 cython 中包装一个 C 库,该库可以处理无限精度整数,例如 gmp。以前没有使用过这个,但肯定不会像 python 整数那样容易使用。

标签: python c cython


【解决方案1】:

gmpy 似乎有 Cython 绑定:

https://gmpy2.readthedocs.io/en/latest/cython.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-07
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多