Crate num_traits
Numeric traits for generic mathematics
Compatibility
The num-traits crate is tested for rustc 1.60 and greater.
Modules
Structs
Enums
Traits
-
AsPrimitive
A generic interface for casting between machine scalars with the
asoperator, which admits narrowing and precision loss. Implementers of this traitAsPrimitiveshould 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
Noneinstead of wrapping around on overflow. -
CheckedDiv
Performs division that returns
Noneinstead of panicking on division by zero and instead of wrapping around on underflow and overflow. - CheckedEuclid
-
CheckedMul
Performs multiplication that returns
Noneinstead of wrapping around on underflow or overflow. -
CheckedNeg
Performs negation that returns
Noneif the result can't be represented. -
CheckedRem
Performs an integral remainder that returns
Noneinstead of panicking on division by zero and instead of wrapping around on underflow and overflow. -
CheckedShl
Performs a left shift that returns
Noneon shifts larger than or equal to the type width. -
CheckedShr
Performs a right shift that returns
Noneon shifts larger than or equal to the type width. -
CheckedSub
Performs subtraction that returns
Noneinstead 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) + bwith 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
0and1values, comparisons, basic numeric operations, and string conversion. -
NumAssign
The trait for
Numtypes which also implement assignment operators. -
NumAssignOps
Generic trait for types implementing numeric assignment operators (like
+=). -
NumAssignRef
The trait for
NumAssigntypes 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
Numtypes 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
Numreferences which implement numeric operations, taking the second operand either by value or by reference. -
Saturating
Saturating math operations. Deprecated, use
SaturatingAdd,SaturatingSubandSaturatingMulinstead. - 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
Noneif 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.