我正在尝试使用 MPIR 的主要测试仪进行快速非顺序测试;但是,我是 MPIR 的新手,对它们的用法感到困惑——特别是函数使用的“gmp_randstate_t”参数。这是我到目前为止所得到的:
#include<iostream> // used for cout
#include<mpir.h>
int main() {
mpz_t PrimeCanidate;
mpz_init(PrimeCanidate);
mpz_set_ui(PrimeCanidate, 3); // sets PrimeCanidate to unsigned int "3"
if (mpz_likely_prime_p(PrimeCanidate) == 1) {
std::cout << "Number is prime: " << std::endl;
}
}
因为我只在 mpz_likely_prime_p 中使用一个参数,所以它不起作用 - 我只是不知道它在寻找其他参数(状态、div)的内容,如文档(http://www.mpir. org/mpir-3.0.0.pdf第 42 页):
是否会有人偶然拥有一个使用 MPIR 中的素数测试功能的简单代码?万分感谢。