# Crate num_traits [−] [src]

Numeric traits for generic mathematics

This version of the crate only exists to re-export compatible items from num-traits 0.2. Please consider updating!

## 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.
CheckedMul | Performs multiplication that returns `None` instead of wrapping around on underflow or overflow.
CheckedShl | Performs a left shift that returns `None` on overflow.
CheckedShr | Performs a right shift that returns `None` on overflow.
CheckedSub | Performs subtraction that returns `None` instead of wrapping around on underflow.
Float | Generic trait for floating point numbers
FloatConst |
FromPrimitive | A generic trait for converting a number to a value.
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 | The 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 | The 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`.
PrimInt |
RefNum | The trait for references which implement numeric operations, taking the second operand either by value or by reference.
Saturating | Saturating math operations
Signed | Useful functions for signed numbers (i.e. numbers that can be negative).
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.
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
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`.

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)