Expand description
Primitive traits for the runtime arithmetic.
Traits§
- AtLeast8
Bit - A meta trait for arithmetic.
- AtLeast8
BitUnsigned - A meta trait for arithmetic. Same as
AtLeast8Bit
, but also bounded to be unsigned. - AtLeast16
Bit - A meta trait for arithmetic.
- AtLeast16
BitUnsigned - A meta trait for arithmetic. Same as
AtLeast16Bit
, but also bounded to be unsigned. - AtLeast32
Bit - A meta trait for arithmetic.
- AtLeast32
BitUnsigned - A meta trait for arithmetic. Same as
AtLeast32Bit
, but also bounded to be unsigned. - Base
Arithmetic - A meta trait for arithmetic type operations, regardless of any limitation on size.
- Bounded
- Numbers which have upper and lower bounds
- Checked
Add - Performs addition that returns
None
instead of wrapping around on overflow. - Checked
Div - Performs division that returns
None
instead of panicking on division by zero and instead of wrapping around on underflow and overflow. - Checked
Mul - Performs multiplication that returns
None
instead of wrapping around on underflow or overflow. - Checked
Neg - Performs negation that returns
None
if the result can’t be represented. - Checked
Rem - Performs an integral remainder that returns
None
instead of panicking on division by zero and instead of wrapping around on underflow and overflow. - Checked
Shl - Performs a left shift that returns
None
on shifts larger than or equal to the type width. - Checked
Shr - Performs a right shift that returns
None
on shifts larger than or equal to the type width. - Checked
Sub - Performs subtraction that returns
None
instead of wrapping around on underflow. - Ensure
- Ensure
Add - Performs addition that returns
ArithmeticError
instead of wrapping around on overflow. - Ensure
AddAssign - Performs self addition that returns
ArithmeticError
instead of wrapping around on overflow. - Ensure
Div - Performs division that returns
ArithmeticError
instead of wrapping around on overflow. - Ensure
DivAssign - Performs self division that returns
ArithmeticError
instead of wrapping around on overflow. - Ensure
Fixed Point Number - Extends
FixedPointNumber
with the Ensure family functions. - Ensure
From - Similar to
TryFrom
but returning anArithmeticError
error. - Ensure
Into - Similar to
TryInto
but returning anArithmeticError
error. - Ensure
Mul - Performs multiplication that returns
ArithmeticError
instead of wrapping around on overflow. - Ensure
MulAssign - Performs self multiplication that returns
ArithmeticError
instead of wrapping around on overflow. - Ensure
Op - Meta trait that supports all immutable arithmetic
Ensure*
operations - Ensure
OpAssign - Meta trait that supports all assigned arithmetic
Ensure*
operations - Ensure
Sub - Performs subtraction that returns
ArithmeticError
instead of wrapping around on underflow. - Ensure
SubAssign - Performs self subtraction that returns
ArithmeticError
instead of wrapping around on underflow. - Integer
Square Root - A trait implementing integer square root.
- One
- Defines a multiplicative identity element for
Self
. - Saturated
Conversion - Convenience type to work around the highly unergonomic syntax needed
to invoke the functions of overloaded generic traits, in this case
SaturatedFrom
andSaturatedInto
. - Saturating
- Saturating arithmetic operations, returning maximum or minimum values instead of overflowing.
- Signed
- Useful functions for signed numbers (i.e. numbers that can be negative).
- Unique
Saturated From - Just like
From
except that if the source value is too big to fit into the destination type then it’ll saturate the destination. - Unique
Saturated Into - Just like
Into
except that if the source value is too big to fit into the destination type then it’ll saturate the destination. - Unsigned
- A trait for values which cannot be negative
- Zero
- Defines an additive identity element for
Self
.
Functions§
- checked_
pow - Raises a value to the power of exp, returning
None
if an overflow occurred. - ensure_
pow - Raises a value to the power of exp, returning
ArithmeticError
if an overflow occurred.