30个版本
0.4.6 | 2024年6月27日 |
---|---|
0.4.4 | 2023年8月22日 |
0.4.3 | 2021年11月3日 |
0.4.0 | 2021年3月5日 |
0.1.33 | 2016年7月12日 |
#37 in 数学
6,548,133 每月下载量
在 8,806 个Crate中(直接使用 1,074 个)
295KB
7.5K SLoC
num-bigint
Rust的大整数类型,包括 BigInt
和 BigUint
。
用法
将此添加到您的 Cargo.toml
[dependencies]
num-bigint = "0.4"
功能
std
crate 功能默认启用,并在 Rust 1.36 及之前以及 alloc
crate 稳定之前是强制性的。如果您使用 num-bigint
时没有启用默认功能 default-features = false
,则必须手动启用 std
功能,如果您的编译器版本不够新。
随机生成
num-bigint
支持在启用 rand
功能时生成随机大整数。要启用它,包括 rand:
rand = "0.8"
num-bigint = { version = "0.4", features = ["rand"] }
注意,您必须使用与 num-bigint
兼容的 rand
版本: 0.8
。
版本
发布说明可在 RELEASES.md 中找到。
兼容性
num-bigint
crate 已针对 rustc 1.60 及更高版本进行测试。
替代方案
尽管 num-bigint
力求在纯 Rust 代码中提供良好的性能,但其他 crate 可能会以不同的权衡提供更好的性能。以下表格简要比较了几个替代方案。
Crate | 许可证 | 最小 rustc | 实现 | 功能 |
---|---|---|---|---|
num-bigint |
MIT/Apache-2.0 | 1.60 | 纯 Rust | 动态宽度,数论函数 |
awint |
MIT/Apache-2.0 | 1.66 | 纯 Rust | 固定宽度,堆或栈,连接宏 |
bnum |
MIT/Apache-2.0 | 1.65 | 纯 Rust | 固定宽度,与 Rust 原始类型(包括浮点数)相匹配 |
crypto-bigint |
MIT/Apache-2.0 | 1.73 | 纯 Rust | 固定宽度,仅堆栈 |
ibig |
MIT/Apache-2.0 | 1.49 | 纯 Rust | 动态宽度,数论函数 |
rug |
LGPL-3.0+ | 1.65 | 通过 gmp-mpfr-sys 捆绑GMP |
包含 GMP、MPFR 和 MPC 的所有功能 |
许可证
许可证如下之一
任选其一。
贡献
除非您明确声明,否则您有意提交以包含在作品中的任何贡献(根据Apache-2.0许可证定义),应按上述方式双许可,不附加任何额外条款或条件。
依赖项
~140–610KB
~11K SLoC