10 个版本 (3 个稳定版)
1.1.0 | 2020年12月13日 |
---|---|
0.7.0 | 2020年4月5日 |
0.6.0 | 2020年3月29日 |
#1705 在 数据结构 中
67KB
1.5K SLoC
Smallbigint
两种类型,Uint
和 Int
,类似于 smallvec
用于大整数。任何适合 32 位的都保持在栈上。不适合的数字存储在 Box<num_bigint::BigUint>
/ Box<num_bigint::BigInt>
。
在 64 位架构上,默认情况下,我们使用 unsafe
将类型压缩到 8 字节,利用指针对齐。这种行为由默认启用的 unsafe-opt
功能触发。
实现的特性
已实现最重要的数值特性。以下是一些尚未实现的特性;欢迎提交拉取请求!
- 位操作
num_traits::Num
,num_traits::Signed
,num_traits::Unsigned
,num_integer::Integer
,num_integer::Roots
,std::iter::Product
,std::iter::Sum
,num_traits::pow::Pow
- 直接在
BigInt
和BigUint
上实现的其他方法 - 实现
num_bigint::{ToBigInt, ToBigUint}
许可证
本项目采用以下任一许可证:
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交供本项目包含的任何贡献,应以上述双重许可方式,不附加任何额外条款或条件。
依赖项
~550KB
~12K SLoC