Integer::next_multiple_of
andprev_multiple_of
no longer overflow -1.Integer::is_multiple_of
now handles a 0 argument without panicking for primitive integers.ExtendedGcd
no longer has any private fields, making it possible for external implementations to customizeInteger::extended_gcd
.
Contributors: @ciphergoth, @cuviper, @tspiteri, @WizardOfMenlo
- The "i128" feature now bypasses compiler probing. 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
- The new
Average
trait computes fast integer averages, rounded up or down, without any risk of overflow.
Contributors: @althonos, @cuviper
Contributors: @cuviper, @dingelish
Contributors: @cuviper
- Optimized primitive
gcd
by avoiding memory swaps. - Fixed
lcm(0, 0)
to return0
, rather than panicking. - Added
Integer::div_ceil
,next_multiple_of
, andprev_multiple_of
. - Added
Integer::gcd_lcm
,extended_gcd
, andextended_gcd_lcm
.
Contributors: @cuviper, @ignatenkobrain, @smarnach, @strake
- The new
Roots
trait providessqrt
,cbrt
, andnth_root
methods, calculating anInteger
's principal roots rounded toward zero.
Contributors: @cuviper
- Support for 128-bit integers is now automatically detected and enabled.
Setting the
i128
crate feature now causes the build script to panic if such support is not detected.
Contributors: @cuviper
Integer
is now implemented fori128
andu128
starting with Rust 1.26, enabled by the newi128
crate feature.
Contributors: @cuviper
- num-integer now has its own source repository at rust-num/num-integer.
- Corrected the argument order documented in
Integer::is_multiple_of
- There is now a
std
feature, 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
No prior release notes were kept. Thanks all the same to the many contributors that have made this crate what it is!