4.5 KiB
4.5 KiB
Release 0.2.4
- 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
Release 0.2.3
- The new
CheckedNeg
andCheckedRem
traits perform checkedNeg
andRem
, returningSome(output)
orNone
on overflow. - The
no_std
implementation ofFloatCore::to_degrees
forf32
now uses a constant for greater accuracy, mirroring rust#47919. (Withstd
it just calls the inherentf32::to_degrees
in the standard library.) - The new
MulAdd
andMulAddAssign
traits perform a fused multiply- add. For integer types this is just a convenience, but for floating point types this produces a more accurate result than the separate operations. - All applicable traits are now implemented for 128-bit integers starting
with Rust 1.26, enabled by the new
i128
crate feature. TheFromPrimitive
andToPrimitive
traits now also have corresponding 128-bit methods, which default to converting via 64-bit integers for compatibility.
Contributors: @cuviper, @LEXUGE, @regexident, @vks
Release 0.2.2
- Casting from floating point to integers now returns
None
on overflow, avoiding rustc's undefined behavior. This applies to thecast
function and the traitsNumCast
,FromPrimitive
, andToPrimitive
.
Contributors: @apopiak, @cuviper, @dbarella
Release 0.2.1
- The new
FloatCore
trait offers a subset ofFloat
for#![no_std]
use. This includes everything except the transcendental functions and FMA. - The new
Inv
trait returns the multiplicative inverse, or reciprocal. - The new
Pow
trait performs exponentiation, much like the existingpow
function, but with generic exponent types. - The new
One::is_one
method tests if a value equals 1. Implementers should override this method if there's a more efficient way to check for 1, rather than comparing with a temporaryone()
.
Contributors: @clarcharr, @cuviper, @vks
Release 0.2.0
- breaking change: There is now a
std
feature, enabled by default, along with the implication that building without this feature makes this a#![no_std]
crate.- The
Float
andReal
traits are only available whenstd
is enabled. - Otherwise, the API is unchanged, and num-traits 0.1.43 now re-exports its items from num-traits 0.2 for compatibility (the semver-trick).
- The
Contributors: @cuviper, @termoshtt, @vks
Release 0.1.43
- All items are now re-exported from num-traits 0.2 for compatibility.
Release 0.1.42
- num-traits now has its own source repository at rust-num/num-traits.
ParseFloatError
now implementsDisplay
.- The new
AsPrimitive
trait implements generic casting with theas
operator. - The new
CheckedShl
andCheckedShr
traits implement generic support for thechecked_shl
andchecked_shr
methods on primitive integers. - The new
Real
trait offers a subset ofFloat
functionality that may be applicable to more types, with a blanket implementation for all existingT: Float
types.
Thanks to @cuviper, @Enet4, @fabianschuiki, @svartalf, and @yoanlcq for their contributions!
Prior releases
No prior release notes were kept. Thanks all the same to the many contributors that have made this crate what it is!