Upgrades the edition, with changes primarily performed by
`cargo fix --edition`.
In order to keep the changes to a minimum, this doesn't include
automated idiom fixes (i.e. `cargo fix --edition-idioms`).
This is needed to unblock the edition upgrade for the RSA crate:
https://github.com/RustCrypto/RSA/pull/135
* no_std support
* Use integer log2 when possible to estimate allocations
* Remove std features from a few dependencies
* Use libm for missing funcs in nostd environment
* Use autocfg to detect presence of i128
* Better CI test for nostd environment
* Move benchmark to a separate crate
* Make the tests pass in no_std builds
* Use thumbv7m target for nostd build test
* Add documentation about the no-std compatibility
* Make zeroize and prime features no_std-compatible
* Test each feature in nostd context
* Fix mac test to work in no_std environment
* Avoid using thread_rng in nostd tests
* Fix prime tests in nostd mode
* Fix all warnings and errors
* Only test nostd builds on nightly on travis
* Travis: Only do nostd builds on nightly
This commit overrides default implementations of
Roots::sqrt and Roots::cbrt for BigInt and BigUint
with optimized ones. It also improves tests and
resolves minor inconsistencies.
Signed-off-by: Manca Bizjak <manca.bizjak@xlab.si>
This commit implements num-integer::Roots trait
for BigInt and BigUint types, and also adds sqrt,
cbrt, nth_root as inherent methods to allow access
to them without importing Roots trait. For each
type tests were added as submodules in the roots
test module.
Signed-off-by: Manca Bizjak <manca.bizjak@xlab.si>