Skip to main content

NumVector

Struct NumVector 

Source
#[repr(transparent)]
pub struct NumVector<V: GenericVector>(pub V);
Expand description

Wraps a generic vector to provide implementations of num_traits traits.

num_traits is a widely used crate that provides numeric traits for Rust types. However, unless you want to use these, implementing them on all vector types would cause conflicts with more inherent methods provided by this library.

Therefore, this wrapper type allows you to opt-in to using num_traits when needed, without causing conflicts in the main vector types.

Notably, the implementation of MulAdd uses mul_adde under the hood, which may fall back to separate multiply and add operations if a fused multiply-add is not available for the target architecture.

Tuple Fields§

§0: V

Trait Implementations§

Source§

impl<V: NumericVector> Add for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
Source§

impl<V: NumericVector> AddAssign for NumVector<V>

Source§

fn add_assign(&mut self, rhs: Self)

Performs the += operation. Read more
Source§

impl<V: BitwiseVector> BitAnd for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the & operator.
Source§

fn bitand(self, rhs: Self) -> Self::Output

Performs the & operation. Read more
Source§

impl<V: BitwiseVector> BitAndAssign for NumVector<V>

Source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
Source§

impl<V: BitwiseVector> BitOr for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the | operator.
Source§

fn bitor(self, rhs: Self) -> Self::Output

Performs the | operation. Read more
Source§

impl<V: BitwiseVector> BitOrAssign for NumVector<V>

Source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
Source§

impl<V: BitwiseVector> BitXor for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
Source§

impl<V: BitwiseVector> BitXorAssign for NumVector<V>

Source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
Source§

impl<V: NumericVector> Bounded for NumVector<V>

Source§

fn min_value() -> Self

Returns the smallest finite number this type can represent
Source§

fn max_value() -> Self

Returns the largest finite number this type can represent
Source§

impl<V: GenericVector> Clone for NumVector<V>

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<V: NumericVector> ConstOne for NumVector<V>

Source§

const ONE: Self

The multiplicative identity element of Self, 1.
Source§

impl<V: NumericVector> ConstZero for NumVector<V>

Source§

const ZERO: Self

The additive identity element of Self, 0.
Source§

impl<V: GenericVector> Copy for NumVector<V>

Source§

impl<V: GenericVector> Deref for NumVector<V>

Source§

type Target = V

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<V: NumericVector> Div for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Self) -> Self::Output

Performs the / operation. Read more
Source§

impl<V: NumericVector> DivAssign for NumVector<V>

Source§

fn div_assign(&mut self, rhs: Self)

Performs the /= operation. Read more
Source§

impl<V> Float for NumVector<V>

Available on crate feature std only.
Source§

fn classify(self) -> FpCategory

Follows the logic of most important classification in the order: NaN (any) > Infinite (any) > Zero (all) > Subnormal (any) > Normal

Source§

fn is_sign_negative(self) -> bool

Returns true if any lane is negative, false otherwise.

Source§

fn is_sign_positive(self) -> bool

Returns true if all lanes are positive, false otherwise.

Source§

fn is_subnormal(self) -> bool

Returns true if the number is subnormal. Read more
Source§

fn to_degrees(self) -> Self

Converts radians to degrees. Read more
Source§

fn to_radians(self) -> Self

Converts degrees to radians. Read more
Source§

fn clamp(self, min: Self, max: Self) -> Self

Clamps a value between a min and max. Read more
Source§

fn copysign(self, sign: Self) -> Self

Returns a number composed of the magnitude of self and the sign of sign. Read more
Source§

fn infinity() -> Self

Returns the infinite value. Read more
Source§

fn neg_infinity() -> Self

Returns the negative infinite value. Read more
Source§

fn nan() -> Self

Returns the NaN value. Read more
Source§

fn neg_zero() -> Self

Returns -0.0. Read more
Source§

fn min_value() -> Self

Returns the smallest finite value that this type can represent. Read more
Source§

fn min_positive_value() -> Self

Returns the smallest positive, normalized value that this type can represent. Read more
Source§

fn epsilon() -> Self

Returns epsilon, a small positive value. Read more
Source§

fn max_value() -> Self

Returns the largest finite value that this type can represent. Read more
Source§

fn is_nan(self) -> bool

Returns true if this value is NaN and false otherwise. Read more
Source§

fn is_infinite(self) -> bool

Returns true if this value is positive infinity or negative infinity and false otherwise. Read more
Source§

fn is_finite(self) -> bool

Returns true if this number is neither infinite nor NaN. Read more
Source§

fn is_normal(self) -> bool

Returns true if the number is neither zero, infinite, subnormal, or NaN. Read more
Source§

fn floor(self) -> Self

Returns the largest integer less than or equal to a number. Read more
Source§

fn ceil(self) -> Self

Returns the smallest integer greater than or equal to a number. Read more
Source§

fn round(self) -> Self

Returns the nearest integer to a number. Round half-way cases away from 0.0. Read more
Source§

fn trunc(self) -> Self

Return the integer part of a number. Read more
Source§

fn fract(self) -> Self

Returns the fractional part of a number. Read more
Source§

fn abs(self) -> Self

Computes the absolute value of self. Returns Float::nan() if the number is Float::nan(). Read more
Source§

fn signum(self) -> Self

Returns a number that represents the sign of self. Read more
Source§

fn mul_add(self, a: Self, b: Self) -> Self

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

fn recip(self) -> Self

Take the reciprocal (inverse) of a number, 1/x. Read more
Source§

fn powi(self, n: i32) -> Self

Raise a number to an integer power. Read more
Source§

fn powf(self, n: Self) -> Self

Raise a number to a floating point power. Read more
Source§

fn sqrt(self) -> Self

Take the square root of a number. Read more
Source§

fn exp(self) -> Self

Returns e^(self), (the exponential function). Read more
Source§

fn exp2(self) -> Self

Returns 2^(self). Read more
Source§

fn ln(self) -> Self

Returns the natural logarithm of the number. Read more
Source§

fn log(self, base: Self) -> Self

Returns the logarithm of the number with respect to an arbitrary base. Read more
Source§

fn log2(self) -> Self

Returns the base 2 logarithm of the number. Read more
Source§

fn log10(self) -> Self

Returns the base 10 logarithm of the number. Read more
Source§

fn max(self, other: Self) -> Self

Returns the maximum of the two numbers. Read more
Source§

fn min(self, other: Self) -> Self

Returns the minimum of the two numbers. Read more
Source§

fn abs_sub(self, other: Self) -> Self

The positive difference of two numbers. Read more
Source§

fn sin_cos(self) -> (Self, Self)

Simultaneously computes the sine and cosine of the number, x. Returns (sin(x), cos(x)). Read more
Source§

fn cbrt(self) -> Self

Take the cubic root of a number. Read more
Source§

fn hypot(self, other: Self) -> Self

Calculate the length of the hypotenuse of a right-angle triangle given legs of length x and y. Read more
Source§

fn sin(self) -> Self

Computes the sine of a number (in radians). Read more
Source§

fn cos(self) -> Self

Computes the cosine of a number (in radians). Read more
Source§

fn tan(self) -> Self

Computes the tangent of a number (in radians). Read more
Source§

fn asin(self) -> Self

Computes the arcsine of a number. Return value is in radians in the range [-pi/2, pi/2] or NaN if the number is outside the range [-1, 1]. Read more
Source§

fn acos(self) -> Self

Computes the arccosine of a number. Return value is in radians in the range [0, pi] or NaN if the number is outside the range [-1, 1]. Read more
Source§

fn atan(self) -> Self

Computes the arctangent of a number. Return value is in radians in the range [-pi/2, pi/2]; Read more
Source§

fn atan2(self, other: Self) -> Self

Computes the four quadrant arctangent of self (y) and other (x). Read more
Source§

fn exp_m1(self) -> Self

Returns e^(self) - 1 in a way that is accurate even if the number is close to zero. Read more
Source§

fn ln_1p(self) -> Self

Returns ln(1+n) (natural logarithm) more accurately than if the operations were performed separately. Read more
Source§

fn sinh(self) -> Self

Hyperbolic sine function. Read more
Source§

fn cosh(self) -> Self

Hyperbolic cosine function. Read more
Source§

fn tanh(self) -> Self

Hyperbolic tangent function. Read more
Source§

fn asinh(self) -> Self

Inverse hyperbolic sine function. Read more
Source§

fn acosh(self) -> Self

Inverse hyperbolic cosine function. Read more
Source§

fn atanh(self) -> Self

Inverse hyperbolic tangent function. Read more
Source§

fn integer_decode(self) -> (u64, i16, i8)

Returns the mantissa, base 2 exponent, and sign as integers, respectively. The original number can be recovered by sign * mantissa * 2 ^ exponent. Read more
Source§

impl<V: FloatVector> FloatCore for NumVector<V>
where V::Element: FloatCore,

Source§

fn classify(self) -> FpCategory

Follows the logic of most important classification in the order: NaN (any) > Infinite (any) > Zero (all) > Subnormal (any) > Normal

Source§

fn is_sign_negative(self) -> bool

Returns true if any lane is negative, false otherwise.

Source§

fn is_sign_positive(self) -> bool

Returns true if all lanes are positive, false otherwise.

Source§

fn recip(self) -> Self

Returns the reciprocal (1/x) of each lane. If you want to use an approximate reciprocal, check the RealMath trait for that.

Source§

fn infinity() -> Self

Returns positive infinity. Read more
Source§

fn neg_infinity() -> Self

Returns negative infinity. Read more
Source§

fn nan() -> Self

Returns NaN. Read more
Source§

fn neg_zero() -> Self

Returns -0.0. Read more
Source§

fn min_value() -> Self

Returns the smallest finite value that this type can represent. Read more
Source§

fn min_positive_value() -> Self

Returns the smallest positive, normalized value that this type can represent. Read more
Source§

fn epsilon() -> Self

Returns epsilon, a small positive value. Read more
Source§

fn max_value() -> Self

Returns the largest finite value that this type can represent. Read more
Source§

fn to_degrees(self) -> Self

Converts to degrees, assuming the number is in radians. Read more
Source§

fn to_radians(self) -> Self

Converts to radians, assuming the number is in degrees. Read more
Source§

fn integer_decode(self) -> (u64, i16, i8)

Returns the mantissa, base 2 exponent, and sign as integers, respectively. The original number can be recovered by sign * mantissa * 2 ^ exponent. Read more
Source§

fn is_nan(self) -> bool

Returns true if the number is NaN. Read more
Source§

fn is_finite(self) -> bool

Returns true if the number is neither infinite or NaN. Read more
Source§

fn is_infinite(self) -> bool

Returns true if the number is infinite. Read more
Source§

fn is_normal(self) -> bool

Returns true if the number is neither zero, infinite, subnormal or NaN. Read more
Source§

fn is_subnormal(self) -> bool

Returns true if the number is subnormal. Read more
Source§

fn floor(self) -> Self

Returns the largest integer less than or equal to a number. Read more
Source§

fn ceil(self) -> Self

Returns the smallest integer greater than or equal to a number. Read more
Source§

fn round(self) -> Self

Returns the nearest integer to a number. Round half-way cases away from 0.0. Read more
Source§

fn trunc(self) -> Self

Return the integer part of a number. Read more
Source§

fn fract(self) -> Self

Returns the fractional part of a number. Read more
Source§

fn abs(self) -> Self

Computes the absolute value of self. Returns FloatCore::nan() if the number is FloatCore::nan(). Read more
Source§

fn signum(self) -> Self

Returns a number that represents the sign of self. Read more
Source§

fn min(self, other: Self) -> Self

Returns the minimum of the two numbers. Read more
Source§

fn max(self, other: Self) -> Self

Returns the maximum of the two numbers. Read more
Source§

fn clamp(self, min: Self, max: Self) -> Self

A value bounded by a minimum and a maximum Read more
Source§

fn powi(self, exp: i32) -> Self

Raise a number to an integer power. Read more
Source§

impl<V> GenericSelectable for NumVector<V>

Source§

type SelectableMask = <V as GenericSelectable>::SelectableMask

The mask type whose lane count and layout match Self.
Source§

fn select<M>(mask: M, t: Self, f: Self) -> Self
where Self::SelectableMask: CastMask<M>,

For each lane, take the value from t where mask is true, otherwise from f.
Source§

impl<V: NumericVector> Mul for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl<V: FloatVector> MulAdd for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the fused multiply-add.
Source§

fn mul_add(self, a: Self, b: Self) -> Self::Output

Performs the fused multiply-add operation (self * a) + b
Source§

impl<V: FloatVector> MulAddAssign for NumVector<V>

Source§

fn mul_add_assign(&mut self, a: Self, b: Self)

Performs the fused multiply-add assignment operation *self = (*self * a) + b
Source§

impl<V: NumericVector> MulAssign for NumVector<V>

Source§

fn mul_assign(&mut self, rhs: Self)

Performs the *= operation. Read more
Source§

impl<V: SignedVector> Neg for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the - operator.
Source§

fn neg(self) -> Self::Output

Performs the unary - operation. Read more
Source§

impl<V: NumericVector> Num for NumVector<V>
where V::Element: Num,

Source§

type FromStrRadixErr = <<V as GenericVector>::Element as Num>::FromStrRadixErr

Source§

fn from_str_radix(str: &str, radix: u32) -> Result<Self, Self::FromStrRadixErr>

Convert from a string and radix (typically 2..=36). Read more
Source§

impl<V: NumericVector> NumCast for NumVector<V>
where V::Element: NumCast,

Source§

fn from<T: ToPrimitive>(n: T) -> Option<Self>

Creates a number from another value that can be converted into a primitive via the ToPrimitive trait. If the source value cannot be represented by the target type, then None is returned. Read more
Source§

impl<V: NumericVector> One for NumVector<V>

Source§

fn is_one(&self) -> bool

Returns true if all lanes are one, false otherwise.

Source§

fn one() -> Self

Returns the multiplicative identity element of Self, 1. Read more
Source§

fn set_one(&mut self)

Sets self to the multiplicative identity element of Self, 1.
Source§

impl<V: PartialOrdVector> PartialEq for NumVector<V>

Source§

fn eq(&self, other: &Self) -> bool

Returns true if all lanes are equal, false otherwise.

Source§

fn ne(&self, other: &Self) -> bool

Returns true if any lane is not equal, false otherwise.

Source§

impl<V: PartialOrdVector> PartialOrd for NumVector<V>

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

Partial comparison between two vectors, returning None if the vectors are not fully ordered. Only returns Some(Ordering) if all lanes are less than, greater than, or equal.

1.0.0 (const: unstable) · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<V: NumericVector> Rem for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: Self) -> Self::Output

Performs the % operation. Read more
Source§

impl<V: NumericVector> RemAssign for NumVector<V>

Source§

fn rem_assign(&mut self, rhs: Self)

Performs the %= operation. Read more
Source§

impl<V: BitshiftVector> Shl<NumVector<<V as GenericVector>::Unsigned>> for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: NumVector<V::Unsigned>) -> Self::Output

Performs the << operation. Read more
Source§

impl<V: BitshiftVector> Shl<u32> for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the << operator.
Source§

fn shl(self, rhs: u32) -> Self::Output

Performs the << operation. Read more
Source§

impl<V: BitshiftVector> ShlAssign<NumVector<<V as GenericVector>::Unsigned>> for NumVector<V>

Source§

fn shl_assign(&mut self, rhs: NumVector<V::Unsigned>)

Performs the <<= operation. Read more
Source§

impl<V: BitshiftVector> ShlAssign<u32> for NumVector<V>

Source§

fn shl_assign(&mut self, rhs: u32)

Performs the <<= operation. Read more
Source§

impl<V: BitshiftVector> Shr<NumVector<<V as GenericVector>::Unsigned>> for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: NumVector<V::Unsigned>) -> Self::Output

Performs the >> operation. Read more
Source§

impl<V: BitshiftVector> Shr<u32> for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the >> operator.
Source§

fn shr(self, rhs: u32) -> Self::Output

Performs the >> operation. Read more
Source§

impl<V: BitshiftVector> ShrAssign<NumVector<<V as GenericVector>::Unsigned>> for NumVector<V>

Source§

fn shr_assign(&mut self, rhs: NumVector<V::Unsigned>)

Performs the >>= operation. Read more
Source§

impl<V: BitshiftVector> ShrAssign<u32> for NumVector<V>

Source§

fn shr_assign(&mut self, rhs: u32)

Performs the >>= operation. Read more
Source§

impl<V: NumericVector> Sub for NumVector<V>

Source§

type Output = NumVector<V>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl<V: NumericVector> SubAssign for NumVector<V>

Source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
Source§

impl<V: GenericVector> ToPrimitive for NumVector<V>
where V::Element: ToPrimitive,

Implements conversion from NumVector<V> to primitive types by extracting the first lane and converting that. Other lanes are ignored.

Source§

fn to_isize(&self) -> Option<isize>

Converts the value of self to an isize. If the value cannot be represented by an isize, then None is returned.
Source§

fn to_i8(&self) -> Option<i8>

Converts the value of self to an i8. If the value cannot be represented by an i8, then None is returned.
Source§

fn to_i16(&self) -> Option<i16>

Converts the value of self to an i16. If the value cannot be represented by an i16, then None is returned.
Source§

fn to_i32(&self) -> Option<i32>

Converts the value of self to an i32. If the value cannot be represented by an i32, then None is returned.
Source§

fn to_i128(&self) -> Option<i128>

Converts the value of self to an i128. If the value cannot be represented by an i128 (i64 under the default implementation), then None is returned. Read more
Source§

fn to_usize(&self) -> Option<usize>

Converts the value of self to a usize. If the value cannot be represented by a usize, then None is returned.
Source§

fn to_u8(&self) -> Option<u8>

Converts the value of self to a u8. If the value cannot be represented by a u8, then None is returned.
Source§

fn to_u16(&self) -> Option<u16>

Converts the value of self to a u16. If the value cannot be represented by a u16, then None is returned.
Source§

fn to_u32(&self) -> Option<u32>

Converts the value of self to a u32. If the value cannot be represented by a u32, then None is returned.
Source§

fn to_u128(&self) -> Option<u128>

Converts the value of self to a u128. If the value cannot be represented by a u128 (u64 under the default implementation), then None is returned. Read more
Source§

fn to_f32(&self) -> Option<f32>

Converts the value of self to an f32. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f32.
Source§

fn to_f64(&self) -> Option<f64>

Converts the value of self to an f64. Overflows may map to positive or negative inifinity, otherwise None is returned if the value cannot be represented by an f64. Read more
Source§

fn to_i64(&self) -> Option<i64>

Converts the value of self to an i64. If the value cannot be represented by an i64, then None is returned.
Source§

fn to_u64(&self) -> Option<u64>

Converts the value of self to a u64. If the value cannot be represented by a u64, then None is returned.
Source§

impl<V: NumericVector> Zero for NumVector<V>

Source§

fn is_zero(&self) -> bool

Returns true if all lanes are zero, false otherwise.

Source§

fn zero() -> Self

Returns the additive identity element of Self, 0. Read more
Source§

fn set_zero(&mut self)

Sets self to the additive identity element of Self, 0.

Auto Trait Implementations§

§

impl<V> Freeze for NumVector<V>
where V: Freeze,

§

impl<V> RefUnwindSafe for NumVector<V>
where V: RefUnwindSafe,

§

impl<V> Send for NumVector<V>
where V: Send,

§

impl<V> Sync for NumVector<V>
where V: Sync,

§

impl<V> Unpin for NumVector<V>
where V: Unpin,

§

impl<V> UnsafeUnpin for NumVector<V>
where V: UnsafeUnpin,

§

impl<V> UnwindSafe for NumVector<V>
where V: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> LowerBounded for T
where T: Bounded,

Source§

fn min_value() -> T

Returns the smallest finite number this type can represent
Source§

impl<T> NumAssign for T
where T: Num + NumAssignOps,

Source§

impl<T, Rhs> NumAssignOps<Rhs> for T
where T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,

Source§

impl<T, Rhs, Output> NumOps<Rhs, Output> for T
where T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> PolyNum for T
where T: Add<Output = T> + Mul<Output = T> + Copy + MulAdd<Output = T> + Zero,

Source§

impl<T> PolyRational for T
where T: One + Neg<Output = T> + Div<Output = T> + PolyNum + PartialOrd,

Source§

impl<T> Real for T
where T: Float,

Source§

fn min_value() -> T

Returns the smallest finite value that this type can represent. Read more
Source§

fn min_positive_value() -> T

Returns the smallest positive, normalized value that this type can represent. Read more
Source§

fn epsilon() -> T

Returns epsilon, a small positive value. Read more
Source§

fn max_value() -> T

Returns the largest finite value that this type can represent. Read more
Source§

fn floor(self) -> T

Returns the largest integer less than or equal to a number. Read more
Source§

fn ceil(self) -> T

Returns the smallest integer greater than or equal to a number. Read more
Source§

fn round(self) -> T

Returns the nearest integer to a number. Round half-way cases away from 0.0. Read more
Source§

fn trunc(self) -> T

Return the integer part of a number. Read more
Source§

fn fract(self) -> T

Returns the fractional part of a number. Read more
Source§

fn abs(self) -> T

Computes the absolute value of self. Returns Float::nan() if the number is Float::nan(). Read more
Source§

fn signum(self) -> T

Returns a number that represents the sign of self. Read more
Source§

fn is_sign_positive(self) -> bool

Returns true if self is positive, including +0.0, Float::infinity(), and with newer versions of Rust f64::NAN. Read more
Source§

fn is_sign_negative(self) -> bool

Returns true if self is negative, including -0.0, Float::neg_infinity(), and with newer versions of Rust -f64::NAN. Read more
Source§

fn mul_add(self, a: T, b: T) -> T

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

fn recip(self) -> T

Take the reciprocal (inverse) of a number, 1/x. Read more
Source§

fn powi(self, n: i32) -> T

Raise a number to an integer power. Read more
Source§

fn powf(self, n: T) -> T

Raise a number to a real number power. Read more
Source§

fn sqrt(self) -> T

Take the square root of a number. Read more
Source§

fn exp(self) -> T

Returns e^(self), (the exponential function). Read more
Source§

fn exp2(self) -> T

Returns 2^(self). Read more
Source§

fn ln(self) -> T

Returns the natural logarithm of the number. Read more
Source§

fn log(self, base: T) -> T

Returns the logarithm of the number with respect to an arbitrary base. Read more
Source§

fn log2(self) -> T

Returns the base 2 logarithm of the number. Read more
Source§

fn log10(self) -> T

Returns the base 10 logarithm of the number. Read more
Source§

fn to_degrees(self) -> T

Converts radians to degrees. Read more
Source§

fn to_radians(self) -> T

Converts degrees to radians. Read more
Source§

fn max(self, other: T) -> T

Returns the maximum of the two numbers. Read more
Source§

fn min(self, other: T) -> T

Returns the minimum of the two numbers. Read more
Source§

fn abs_sub(self, other: T) -> T

The positive difference of two numbers. Read more
Source§

fn cbrt(self) -> T

Take the cubic root of a number. Read more
Source§

fn hypot(self, other: T) -> T

Calculate the length of the hypotenuse of a right-angle triangle given legs of length x and y. Read more
Source§

fn sin(self) -> T

Computes the sine of a number (in radians). Read more
Source§

fn cos(self) -> T

Computes the cosine of a number (in radians). Read more
Source§

fn tan(self) -> T

Computes the tangent of a number (in radians). Read more
Source§

fn asin(self) -> T

Computes the arcsine of a number. Return value is in radians in the range [-pi/2, pi/2] or NaN if the number is outside the range [-1, 1]. Read more
Source§

fn acos(self) -> T

Computes the arccosine of a number. Return value is in radians in the range [0, pi] or NaN if the number is outside the range [-1, 1]. Read more
Source§

fn atan(self) -> T

Computes the arctangent of a number. Return value is in radians in the range [-pi/2, pi/2]; Read more
Source§

fn atan2(self, other: T) -> T

Computes the four quadrant arctangent of self (y) and other (x). Read more
Source§

fn sin_cos(self) -> (T, T)

Simultaneously computes the sine and cosine of the number, x. Returns (sin(x), cos(x)). Read more
Source§

fn exp_m1(self) -> T

Returns e^(self) - 1 in a way that is accurate even if the number is close to zero. Read more
Source§

fn ln_1p(self) -> T

Returns ln(1+n) (natural logarithm) more accurately than if the operations were performed separately. Read more
Source§

fn sinh(self) -> T

Hyperbolic sine function. Read more
Source§

fn cosh(self) -> T

Hyperbolic cosine function. Read more
Source§

fn tanh(self) -> T

Hyperbolic tangent function. Read more
Source§

fn asinh(self) -> T

Inverse hyperbolic sine function. Read more
Source§

fn acosh(self) -> T

Inverse hyperbolic cosine function. Read more
Source§

fn atanh(self) -> T

Inverse hyperbolic tangent function. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> UpperBounded for T
where T: Bounded,

Source§

fn max_value() -> T

Returns the largest finite number this type can represent