Source code

Revision control

Copy as Markdown

Other Tools

# Release 0.1.45 (2022-04-29)
- [`Integer::next_multiple_of` and `prev_multiple_of` no longer overflow -1][45].
- [`Integer::is_multiple_of` now handles a 0 argument without panicking][47]
for primitive integers.
- [`ExtendedGcd` no longer has any private fields][46], making it possible for
external implementations to customize `Integer::extended_gcd`.
**Contributors**: @ciphergoth, @cuviper, @tspiteri, @WizardOfMenlo
# Release 0.1.44 (2020-10-29)
- [The "i128" feature now bypasses compiler probing][35]. The build script
used to probe anyway and panic if requested support wasn't found, but
sometimes this ran into bad corner cases with `autocfg`.
**Contributors**: @cuviper
# Release 0.1.43 (2020-06-11)
- [The new `Average` trait][31] computes fast integer averages, rounded up or
down, without any risk of overflow.
**Contributors**: @althonos, @cuviper
# Release 0.1.42 (2020-01-09)
- [Updated the `autocfg` build dependency to 1.0][29].
**Contributors**: @cuviper, @dingelish
# Release 0.1.41 (2019-05-21)
- [Fixed feature detection on `no_std` targets][25].
**Contributors**: @cuviper
# Release 0.1.40 (2019-05-20)
- [Optimized primitive `gcd` by avoiding memory swaps][11].
- [Fixed `lcm(0, 0)` to return `0`, rather than panicking][18].
- [Added `Integer::div_ceil`, `next_multiple_of`, and `prev_multiple_of`][16].
- [Added `Integer::gcd_lcm`, `extended_gcd`, and `extended_gcd_lcm`][19].
**Contributors**: @cuviper, @ignatenkobrain, @smarnach, @strake
# Release 0.1.39 (2018-06-20)
- [The new `Roots` trait provides `sqrt`, `cbrt`, and `nth_root` methods][9],
calculating an `Integer`'s principal roots rounded toward zero.
**Contributors**: @cuviper
# Release 0.1.38 (2018-05-11)
- [Support for 128-bit integers is now automatically detected and enabled.][8]
Setting the `i128` crate feature now causes the build script to panic if such
support is not detected.
**Contributors**: @cuviper
# Release 0.1.37 (2018-05-10)
- [`Integer` is now implemented for `i128` and `u128`][7] starting with Rust
1.26, enabled by the new `i128` crate feature.
**Contributors**: @cuviper
# Release 0.1.36 (2018-02-06)
- [num-integer now has its own source repository][num-356] at [rust-num/num-integer][home].
- [Corrected the argument order documented in `Integer::is_multiple_of`][1]
- [There is now a `std` feature][5], enabled by default, along with the implication
that building *without* this feature makes this a `#[no_std]` crate.
- There is no difference in the API at this time.
**Contributors**: @cuviper, @jaystrictor
# Prior releases
No prior release notes were kept. Thanks all the same to the many
contributors that have made this crate what it is!