Crate num_traits

Source
Expand description

Numeric traits for generic mathematics

§Compatibility

The num-traits crate is tested for rustc 1.60 and greater.

Modules§

bounds
cast
float
identities
int
ops
pow
real
sign

Structs§

ParseFloatError

Enums§

FloatErrorKind

Traits§

AsPrimitive
A generic interface for casting between machine scalars with the as operator, which admits narrowing and precision loss. Implementers of this trait AsPrimitive should behave like a primitive numeric type (e.g. a newtype around another primitive), and the intended conversion must never fail.
Bounded
Numbers which have upper and lower bounds
CheckedAdd
Performs addition that returns None instead of wrapping around on overflow.
CheckedDiv
Performs division that returns None instead of panicking on division by zero and instead of wrapping around on underflow and overflow.
CheckedEuclid
CheckedMul
Performs multiplication that returns None instead of wrapping around on underflow or overflow.
CheckedNeg
Performs negation that returns None if the result can’t be represented.
CheckedRem
Performs an integral remainder that returns None instead of panicking on division by zero and instead of wrapping around on underflow and overflow.
CheckedShl
Performs a left shift that returns None on shifts larger than or equal to the type width.
CheckedShr
Performs a right shift that returns None on shifts larger than or equal to the type width.
CheckedSub
Performs subtraction that returns None instead of wrapping around on underflow.
ConstOne
Defines an associated constant representing the multiplicative identity element for Self.
ConstZero
Defines an associated constant representing the additive identity element for Self.
Euclid
Float
Generic trait for floating point numbers
FloatConst
FromBytes
FromPrimitive
A generic trait for converting a number to a value.
Inv
Unary operator for retrieving the multiplicative inverse, or reciprocal, of a value.
MulAdd
Fused multiply-add. Computes (self * a) + b with only one rounding error, yielding a more accurate result than an unfused multiply-add.
MulAddAssign
The fused multiply-add assignment operation *self = (*self * a) + b
Num
The base trait for numeric types, covering 0 and 1 values, comparisons, basic numeric operations, and string conversion.
NumAssign
The trait for Num types which also implement assignment operators.
NumAssignOps
Generic trait for types implementing numeric assignment operators (like +=).
NumAssignRef
The trait for NumAssign types which also implement assignment operations taking the second operand by reference.
NumCast
An interface for casting between machine scalars.
NumOps
Generic trait for types implementing basic numeric operations
NumRef
The trait for Num types which also implement numeric operations taking the second operand by reference.
One
Defines a multiplicative identity element for Self.
Pow
Binary operator for raising a value to a power.
PrimInt
Generic trait for primitive integers.
RefNum
The trait for Num references which implement numeric operations, taking the second operand either by value or by reference.
Saturating
Saturating math operations. Deprecated, use SaturatingAdd, SaturatingSub and SaturatingMul instead.
SaturatingAdd
Performs addition that saturates at the numeric bounds instead of overflowing.
SaturatingMul
Performs multiplication that saturates at the numeric bounds instead of overflowing.
SaturatingSub
Performs subtraction that saturates at the numeric bounds instead of overflowing.
Signed
Useful functions for signed numbers (i.e. numbers that can be negative).
ToBytes
ToPrimitive
A generic trait for converting a value to a number.
Unsigned
A trait for values which cannot be negative
WrappingAdd
Performs addition that wraps around on overflow.
WrappingMul
Performs multiplication that wraps around on overflow.
WrappingNeg
Performs a negation that does not panic.
WrappingShl
Performs a left shift that does not panic.
WrappingShr
Performs a right shift that does not panic.
WrappingSub
Performs subtraction that wraps around on overflow.
Zero
Defines an additive identity element for Self.

Functions§

abs
Computes the absolute value.
abs_sub
The positive difference of two numbers.
cast
Cast from one machine scalar to another.
checked_pow
Raises a value to the power of exp, returning None if an overflow occurred.
clamp
A value bounded by a minimum and a maximum
clamp_max
A value bounded by a maximum value
clamp_min
A value bounded by a minimum value
one
Returns the multiplicative identity, 1.
pow
Raises a value to the power of exp, using exponentiation by squaring.
signum
Returns the sign of the number.
zero
Returns the additive identity, 0.