1个不稳定版本
0.1.0 | 2024年3月9日 |
---|
#1330 in 数学
17KB
181 行
rug(GMP)的Miller Rabin素性测试
简介
该Crate实现了一个多线程、任意精度的Miller-Rabin素性测试。
实现针对来自rug的整数,GMP的高级接口。
该Crate受到了来自miller_rabin的Crate的强烈启发。
安装
有关要求和安装步骤,请参阅rug。
许可
Rug是自由软件:您可以在自由软件基金会发布的GNU Lesser General Public License的条款下重新分发和/或修改它,许可证版本为3,或者(根据您的选择)许可证的任何较新版本。有关详细信息,请参阅GNU LGPL的完整文本。
lib.rs
:
整数(rug / GMP)的Miller-Rabin测试(多线程)
该方法[is_prime]使用给定的迭代次数使用Miller-Rabin方法测试给定数字是否可能是素数。
示例
use miller_rabin::is_prime;
// Mersenne Prime (2^31 - 1)
let n: u64 = 0x7FFF_FFFF;
assert!(is_prime(&n, 16));
功能
默认情况下,测试将并行运行(使用[rayon])。可以通过导入Crate来迭代地禁用默认功能。
依赖项
~22MB
~513K SLoC