Module traits Copy item path Source bounds cast float identities int ops pow real sign ParseFloatError FloatErrorKind 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
. 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
.