From 21ba69476c674f8901dc04f6b35500c0e3282a6b Mon Sep 17 00:00:00 2001 From: Aaron Kutch Date: Thu, 21 Jul 2022 16:36:53 -0500 Subject: [PATCH 1/4] Update alternatives `rust-gmp`, `ramp`, and `apint` are all unmaintained --- README.md | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 79081eaf..d4fa8d31 100644 --- a/README.md +++ b/README.md @@ -50,20 +50,22 @@ 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 | +| [`rug`] | LGPL-3.0+ | 1.37 | bundles [GMP] via [`gmp-mpfr-sys`] | all the features of GMP, MPFR, and MPC | +| [`awint`] | MIT/Apache-2.0 | 1.61 | 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 | +| [`ibig`] | MIT/Apache-2.0 | 1.49 | pure rust | dynamic width, number theoretical functions | +| [`crypto-bigint`] | MIT/Apache-2.0 | 1.57 | pure rust | fixed width, stack only | [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 +[`awint`]: https://crates.io/crates/awint +[`bnum`]: https://crates.io/crates/bnum +[`ibig`]: https://github.com/tczajka/ibig-rs +[`crypto-bigint`]: https://crates.io/crates/crypto-bigint ## License From ece71d48664a6c027990b6281bbdaa9f74ee0441 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 10 Feb 2023 17:05:31 -0800 Subject: [PATCH 2/4] Update MSRVs of awint and rug --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d4fa8d31..a6f9b39a 100644 --- a/README.md +++ b/README.md @@ -53,8 +53,8 @@ table offers a brief comparison to a few alternatives. | Crate | License | Min rustc | Implementation | Features | | :--------------- | :------------- | :-------- | :------------- | :------- | | **`num-bigint`** | MIT/Apache-2.0 | 1.31 | pure rust | dynamic width, number theoretical functions | -| [`rug`] | LGPL-3.0+ | 1.37 | bundles [GMP] via [`gmp-mpfr-sys`] | all the features of GMP, MPFR, and MPC | -| [`awint`] | MIT/Apache-2.0 | 1.61 | pure rust | fixed width, heap or stack, concatenation macros | +| [`rug`] | LGPL-3.0+ | 1.65 | bundles [GMP] via [`gmp-mpfr-sys`] | all the features of GMP, MPFR, and MPC | +| [`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 | | [`ibig`] | MIT/Apache-2.0 | 1.49 | pure rust | dynamic width, number theoretical functions | | [`crypto-bigint`] | MIT/Apache-2.0 | 1.57 | pure rust | fixed width, stack only | From 36f0e73959f10b9b0ce28040c8165d65d9b82726 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 10 Feb 2023 17:06:09 -0800 Subject: [PATCH 3/4] Point ibig to crates.io --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a6f9b39a..ca632dc2 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ table offers a brief comparison to a few alternatives. [`rug`]: https://crates.io/crates/rug [`awint`]: https://crates.io/crates/awint [`bnum`]: https://crates.io/crates/bnum -[`ibig`]: https://github.com/tczajka/ibig-rs +[`ibig`]: https://crates.io/crates/ibig [`crypto-bigint`]: https://crates.io/crates/crypto-bigint ## License From f6886f5d009dfdfa16c9d15457198c3961dd6a40 Mon Sep 17 00:00:00 2001 From: Josh Stone Date: Fri, 10 Feb 2023 17:07:09 -0800 Subject: [PATCH 4/4] Sort the alternatives list by name --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ca632dc2..21f7749a 100644 --- a/README.md +++ b/README.md @@ -53,19 +53,20 @@ table offers a brief comparison to a few alternatives. | Crate | License | Min rustc | Implementation | Features | | :--------------- | :------------- | :-------- | :------------- | :------- | | **`num-bigint`** | MIT/Apache-2.0 | 1.31 | 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`] | 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 | -| [`ibig`] | MIT/Apache-2.0 | 1.49 | pure rust | dynamic width, number theoretical functions | | [`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 | -[GMP]: https://gmplib.org/ -[`gmp-mpfr-sys`]: https://crates.io/crates/gmp-mpfr-sys -[`rug`]: https://crates.io/crates/rug [`awint`]: https://crates.io/crates/awint [`bnum`]: https://crates.io/crates/bnum -[`ibig`]: https://crates.io/crates/ibig [`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 ## License