Skip to content

Commit

Permalink
Merge #247
Browse files Browse the repository at this point in the history
247: Update alternatives list r=cuviper a=AaronKutch

`rust-gmp`, `ramp`, and `apint` are all unmaintained so I removed them. I added a column for fundamental features the crates have and added some new rows.

Co-authored-by: Aaron Kutch <aaronkutch@att.net>
Co-authored-by: Josh Stone <cuviper@gmail.com>
  • Loading branch information
3 people committed Feb 11, 2023
2 parents 5da950d + f6886f5 commit 51eb448
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions README.md
Expand Up @@ -50,20 +50,23 @@ While `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.

| Crate | License | Min rustc | Implementation |
| :--------------- | :------------- | :-------- | :------------- |
| **`num-bigint`** | MIT/Apache-2.0 | 1.31 | pure rust |
| [`ramp`] | Apache-2.0 | nightly | rust and inline assembly (no longer maintained) |
| [`rug`] | LGPL-3.0+ | 1.37 | bundles [GMP] via [`gmp-mpfr-sys`] |
| [`rust-gmp`] | MIT | stable? | links to [GMP] |
| [`apint`] | MIT/Apache-2.0 | 1.26 | pure rust (unfinished) |
| Crate | License | Min rustc | Implementation | Features |
| :--------------- | :------------- | :-------- | :------------- | :------- |
| **`num-bigint`** | MIT/Apache-2.0 | 1.31 | pure rust | dynamic width, number theoretical functions |
| [`awint`] | MIT/Apache-2.0 | 1.66 | pure rust | fixed width, heap or stack, concatenation macros |
| [`bnum`] | MIT/Apache-2.0 | 1.61 | pure rust | fixed width, parity with Rust primitives including floats |
| [`crypto-bigint`] | MIT/Apache-2.0 | 1.57 | pure rust | fixed width, stack only |
| [`ibig`] | MIT/Apache-2.0 | 1.49 | pure rust | dynamic width, number theoretical functions |
| [`rug`] | LGPL-3.0+ | 1.65 | bundles [GMP] via [`gmp-mpfr-sys`] | all the features of GMP, MPFR, and MPC |

[`awint`]: https://crates.io/crates/awint
[`bnum`]: https://crates.io/crates/bnum
[`crypto-bigint`]: https://crates.io/crates/crypto-bigint
[`ibig`]: https://crates.io/crates/ibig
[`rug`]: https://crates.io/crates/rug

[GMP]: https://gmplib.org/
[`gmp-mpfr-sys`]: https://crates.io/crates/gmp-mpfr-sys
[`rug`]: https://crates.io/crates/rug
[`rust-gmp`]: https://crates.io/crates/rust-gmp
[`ramp`]: https://crates.io/crates/ramp
[`apint`]: https://crates.io/crates/apint

## License

Expand Down

0 comments on commit 51eb448

Please sign in to comment.