0

有什么办法可以查看源代码gympy吗?具体来说,gmpy2.is_prime.

我尝试了各种链接

我在任何地方都找不到它。

我已经下载了 gmpy2,并在我的本地驱动器上进行了检查,但文件扩展名为.pyd. 当我打开它(在记事本中)时,以下是我看到的前几行 -

MZ       ÿÿ  ¸       @                                   ð   º ´  Í!¸LÍ!This program     cannot be run in DOS mode.

其余的都是胡言乱语。

我想编写一个非常快速的素数检查器,它是迄今为止我遇到的最好的 谁能告诉我如何获得源代码?或者可能链接到其他一些快速素数检查器的源代码(或讨论)?

4

2 回答 2

5

我维护 gmpy 和 gmpy2。@cartman 和 @DJV 已经将您定向到源代码,但我将添加一些评论。

mpz_probab_prime_p进行试验分解,然后多次迭代 Miller-Rabin 测试。Miller-Rabin 检验并不能证明一个数是素数,它只是非常擅长证明一个数是合数。如果您将测试重复足够多次,则该数字很可能是素数。在已知的情况下,mpz_probab_prime_p当仅完成 12 到 15 次迭代时,报告复合是素数。

一个更有趣的素数测试是 BPSW 测试。没有已知的复合材料被报道为素数,但它推测它们存在。

gmpy2还包含几个素数算法,可用作完整测试的构建块。它们基于以下位置的代码:

http://sourceforge.net/projects/mpzlucas/

http://sourceforge.net/projects/mpzprp/

一些有用的链接:

http://www.trnicely.net/misc/bpsw.html

http://www.pseudoprime.com/pseudo.html

于 2013-03-04T14:35:47.357 回答
3

它映射到Pympz_is_primeC 函数,请参阅此链接以获取函数的源代码。

于 2013-03-04T13:38:41.457 回答