Big integer types for Rust,
Warning This is a fork of
rust-num/num-bigintwith a focus on providing functionality, needed to implement cryptographic operations.
Add this to your
[dependencies] num-bigint-dig = ^0.4"
and this to your crate root:
extern crate num_bigint_dig as num_bigint;
std feature is enabled by default and mandatory to compile on older rust version.
It is possible to use this crate on no_std target. If you wish to compile for a target that does not have an
std crate, you should use
default-features = false. All other sub-features should be compatible with no_std. Note that in this mode,
num-bigint still relies on the alloc crate, so make sure you define a
u128 are only available with Rust 1.26 and later. The build script automatically detects this, but you can make it mandatory by enabling the
i128 crate feature.
u64_digit feature enables usage of larger internal "digits" (or otherwise known as "limbs"). Speeeding up almost all operations on architectures that have native support for it.
prime feature gate enables algorithms and support for dealing with large primes.
Release notes are available in RELEASES.md.
num-bigint crate is tested for rustc 1.36 and greater.
num-bigint strives for good performance in pure Rust code, other crates may offer better performance with different trade-offs. The following table offers a brief comparison to a few alternatives.
||Apache-2.0||nightly||rust and inline assembly|
||LGPL-3.0+||1.18||bundles GMP via
||MIT||stable?||links to GMP|
||MIT/Apache-2.0||1.26||pure rust (unfinished)|
cargo bench --features prime