[][src]Module argmin::prelude

Definition of all relevant traits and types

Re-export of all relevant traits

Put argmin::prelude::* on top of your code to get all relevant traits into scope.

Re-exports

pub use crate::core::*;

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.

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 the type width.

CheckedShr

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

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.

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.

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.

Pow

Binary operator for raising a value to a power.

PrimInt

Generic trait for primitive integers.

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.

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 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.