Crate bonsaidb::core::num_traits[][src]

Expand description

Numeric traits for generic mathematics

Compatibility

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

Modules

Structs

Enums

Traits

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.

Numbers which have upper and lower bounds

Performs addition that returns None instead of wrapping around on overflow.

Performs division that returns None instead of panicking on division by zero and instead of wrapping around on underflow and overflow.

Performs multiplication that returns None instead of wrapping around on underflow or overflow.

Performs negation that returns None if the result can’t be represented.

Performs an integral remainder that returns None instead of panicking on division by zero and instead of wrapping around on underflow and overflow.

Performs a left shift that returns None on shifts larger than the type width.

Performs a right shift that returns None on shifts larger than the type width.

Performs subtraction that returns None instead of wrapping around on underflow.

Generic trait for floating point numbers

A generic trait for converting a number to a value.

Unary operator for retrieving the multiplicative inverse, or reciprocal, of a value.

Fused multiply-add. Computes (self * a) + b with only one rounding error, yielding a more accurate result than an unfused multiply-add.

The fused multiply-add assignment operation.

The base trait for numeric types, covering 0 and 1 values, comparisons, basic numeric operations, and string conversion.

The trait for Num types which also implement assignment operators.

The trait for types implementing numeric assignment operators (like +=).

The trait for NumAssign types which also implement assignment operations taking the second operand by reference.

An interface for casting between machine scalars.

The trait for types implementing basic numeric operations

The trait for Num types which also implement numeric operations taking the second operand by reference.

Defines a multiplicative identity element for Self.

Binary operator for raising a value to a power.

Generic trait for primitive integers.

The trait for references which implement numeric operations, taking the second operand either by value or by reference.

Saturating math operations. Deprecated, use SaturatingAdd, SaturatingSub and SaturatingMul instead.

Performs addition that saturates at the numeric bounds instead of overflowing.

Performs multiplication that saturates at the numeric bounds instead of overflowing.

Performs subtraction that saturates at the numeric bounds instead of overflowing.

Useful functions for signed numbers (i.e. numbers that can be negative).

A generic trait for converting a value to a number.

A trait for values which cannot be negative

Performs addition that wraps around on overflow.

Performs multiplication that wraps around on overflow.

Performs a negation that does not panic.

Performs a left shift that does not panic.

Performs a right shift that does not panic.

Performs subtraction that wraps around on overflow.

Defines an additive identity element for Self.

Functions

Computes the absolute value.

The positive difference of two numbers.

Cast from one machine scalar to another.

Raises a value to the power of exp, returning None if an overflow occurred.

A value bounded by a minimum and a maximum

A value bounded by a maximum value

A value bounded by a minimum value

Returns the multiplicative identity, 1.

Raises a value to the power of exp, using exponentiation by squaring.

Returns the sign of the number.

Returns the additive identity, 0.