tree: 0f487de04839a325ffb2d1bdda8d4ffb3e23abb8 [path history] [tgz]
  1. src/
  2. .android-checksum.json
  3. .cargo-checksum.json
  4. Android.bp
  5. Cargo.toml
  6. cargo_embargo.json
  7. LICENSE
  8. METADATA
  9. MODULE_LICENSE_APACHE2
  10. README.md
  11. TEST_MAPPING
crates/num-modular/README.md

num-modular

A generic implementation of integer division and modular arithmetics in Rust. It provide basic operators and an type to represent integers in a modulo ring. Specifically the following features are supported:

  • Common modular arithmetics: add, sub, mul, div, neg, double, square, inv, pow
  • Optimized modular arithmetics in Montgomery form
  • Optimized modular arithmetics with pseudo Mersenne primes as moduli
  • Fast integer divisibility check
  • Legendre, Jacobi and Kronecker symbols

It also support various integer type backends, including primitive integers and num-bigint. Note that this crate also supports [no_std]. To enable std related functionalities, enable the std feature of the crate.