Trait grafix_toolbox::lib::ops::Neg

1.0.0 · source ·
pub trait Neg {
    type Output;

    // Required method
    fn neg(self) -> Self::Output;
}
Expand description

The unary negation operator -.

§Examples

An implementation of Neg for Sign, which allows the use of - to negate its value.

use std::ops::Neg;

#[derive(Debug, PartialEq)]
enum Sign {
    Negative,
    Zero,
    Positive,
}

impl Neg for Sign {
    type Output = Self;

    fn neg(self) -> Self::Output {
        match self {
            Sign::Negative => Sign::Positive,
            Sign::Zero => Sign::Zero,
            Sign::Positive => Sign::Negative,
        }
    }
}

// A negative positive is a negative.
assert_eq!(-Sign::Positive, Sign::Negative);
// A double negative is a positive.
assert_eq!(-Sign::Negative, Sign::Positive);
// Zero is its own negation.
assert_eq!(-Sign::Zero, Sign::Zero);

Required Associated Types§

1.0.0 · source

type Output

The resulting type after applying the - operator.

Required Methods§

1.0.0 · source

fn neg(self) -> Self::Output

Performs the unary - operation.

§Example
let x: i32 = 12;
assert_eq!(-x, -12);

Implementors§

1.0.0 · source§

impl Neg for &f16

§

type Output = <f16 as Neg>::Output

1.0.0 · source§

impl Neg for &f32

§

type Output = <f32 as Neg>::Output

1.0.0 · source§

impl Neg for &f64

§

type Output = <f64 as Neg>::Output

1.0.0 · source§

impl Neg for &f128

§

type Output = <f128 as Neg>::Output

1.0.0 · source§

impl Neg for &i8

§

type Output = <i8 as Neg>::Output

1.0.0 · source§

impl Neg for &i16

§

type Output = <i16 as Neg>::Output

1.0.0 · source§

impl Neg for &i32

§

type Output = <i32 as Neg>::Output

1.0.0 · source§

impl Neg for &i64

§

type Output = <i64 as Neg>::Output

1.0.0 · source§

impl Neg for &i128

§

type Output = <i128 as Neg>::Output

1.0.0 · source§

impl Neg for &isize

§

type Output = <isize as Neg>::Output

source§

impl Neg for &f16

§

type Output = <f16 as Neg>::Output

1.71.0 · source§

impl Neg for &NonZero<i8>

§

type Output = <NonZero<i8> as Neg>::Output

1.71.0 · source§

impl Neg for &NonZero<i16>

§

type Output = <NonZero<i16> as Neg>::Output

1.71.0 · source§

impl Neg for &NonZero<i32>

§

type Output = <NonZero<i32> as Neg>::Output

1.71.0 · source§

impl Neg for &NonZero<i64>

§

type Output = <NonZero<i64> as Neg>::Output

1.71.0 · source§

impl Neg for &NonZero<i128>

1.71.0 · source§

impl Neg for &NonZero<isize>

1.74.0 · source§

impl Neg for &Saturating<i8>

1.74.0 · source§

impl Neg for &Saturating<i16>

1.74.0 · source§

impl Neg for &Saturating<i32>

1.74.0 · source§

impl Neg for &Saturating<i64>

1.74.0 · source§

impl Neg for &Saturating<i128>

1.74.0 · source§

impl Neg for &Saturating<isize>

1.14.0 · source§

impl Neg for &Wrapping<i8>

§

type Output = <Wrapping<i8> as Neg>::Output

1.14.0 · source§

impl Neg for &Wrapping<i16>

1.14.0 · source§

impl Neg for &Wrapping<i32>

1.14.0 · source§

impl Neg for &Wrapping<i64>

1.14.0 · source§

impl Neg for &Wrapping<i128>

1.14.0 · source§

impl Neg for &Wrapping<isize>

1.14.0 · source§

impl Neg for &Wrapping<u8>

§

type Output = <Wrapping<u8> as Neg>::Output

1.14.0 · source§

impl Neg for &Wrapping<u16>

1.14.0 · source§

impl Neg for &Wrapping<u32>

1.14.0 · source§

impl Neg for &Wrapping<u64>

1.14.0 · source§

impl Neg for &Wrapping<u128>

1.14.0 · source§

impl Neg for &Wrapping<usize>

source§

impl Neg for &bf16

§

type Output = <bf16 as Neg>::Output

source§

impl Neg for &f32x4

source§

impl Neg for &f32x8

source§

impl Neg for &f64x2

source§

impl Neg for &f64x4

source§

impl Neg for &i8x16

source§

impl Neg for &i8x32

source§

impl Neg for &i16x8

source§

impl Neg for &i16x16

source§

impl Neg for &i32x4

source§

impl Neg for &i32x8

source§

impl Neg for &i64x2

source§

impl Neg for &i64x4

source§

impl Neg for &u8x16

source§

impl Neg for &u16x8

source§

impl Neg for &u32x4

source§

impl Neg for &u32x8

source§

impl Neg for &u64x2

source§

impl Neg for &u64x4

1.0.0 · source§

impl Neg for f16

§

type Output = f16

1.0.0 · source§

impl Neg for f32

§

type Output = f32

1.0.0 · source§

impl Neg for f64

§

type Output = f64

1.0.0 · source§

impl Neg for f128

§

type Output = f128

1.0.0 · source§

impl Neg for i8

§

type Output = i8

1.0.0 · source§

impl Neg for i16

§

type Output = i16

1.0.0 · source§

impl Neg for i32

§

type Output = i32

1.0.0 · source§

impl Neg for i64

§

type Output = i64

1.0.0 · source§

impl Neg for i128

§

type Output = i128

1.0.0 · source§

impl Neg for isize

source§

impl Neg for f16

§

type Output = f16

1.71.0 · source§

impl Neg for NonZero<i8>

1.71.0 · source§

impl Neg for NonZero<i16>

1.71.0 · source§

impl Neg for NonZero<i32>

1.71.0 · source§

impl Neg for NonZero<i64>

1.71.0 · source§

impl Neg for NonZero<i128>

1.71.0 · source§

impl Neg for NonZero<isize>

1.74.0 · source§

impl Neg for Saturating<i8>

1.74.0 · source§

impl Neg for Saturating<i16>

1.74.0 · source§

impl Neg for Saturating<i32>

1.74.0 · source§

impl Neg for Saturating<i64>

1.74.0 · source§

impl Neg for Saturating<i128>

1.74.0 · source§

impl Neg for Saturating<isize>

1.10.0 · source§

impl Neg for Wrapping<i8>

1.10.0 · source§

impl Neg for Wrapping<i16>

1.10.0 · source§

impl Neg for Wrapping<i32>

1.10.0 · source§

impl Neg for Wrapping<i64>

1.10.0 · source§

impl Neg for Wrapping<i128>

1.10.0 · source§

impl Neg for Wrapping<isize>

1.10.0 · source§

impl Neg for Wrapping<u8>

1.10.0 · source§

impl Neg for Wrapping<u16>

1.10.0 · source§

impl Neg for Wrapping<u32>

1.10.0 · source§

impl Neg for Wrapping<u64>

1.10.0 · source§

impl Neg for Wrapping<u128>

1.10.0 · source§

impl Neg for Wrapping<usize>

source§

impl Neg for bf16

§

type Output = bf16

source§

impl Neg for m128

§

type Output = m128

source§

impl Neg for m128d

source§

impl Neg for AutoSimd<[f32; 2]>

§

type Output = AutoSimd<[f32; 2]>

source§

impl Neg for AutoSimd<[f32; 4]>

§

type Output = AutoSimd<[f32; 4]>

source§

impl Neg for AutoSimd<[f32; 8]>

§

type Output = AutoSimd<[f32; 8]>

source§

impl Neg for AutoSimd<[f32; 16]>

§

type Output = AutoSimd<[f32; 16]>

source§

impl Neg for AutoSimd<[f64; 2]>

§

type Output = AutoSimd<[f64; 2]>

source§

impl Neg for AutoSimd<[f64; 4]>

§

type Output = AutoSimd<[f64; 4]>

source§

impl Neg for AutoSimd<[f64; 8]>

§

type Output = AutoSimd<[f64; 8]>

source§

impl Neg for AutoSimd<[i8; 2]>

§

type Output = AutoSimd<[i8; 2]>

source§

impl Neg for AutoSimd<[i8; 4]>

§

type Output = AutoSimd<[i8; 4]>

source§

impl Neg for AutoSimd<[i8; 8]>

§

type Output = AutoSimd<[i8; 8]>

source§

impl Neg for AutoSimd<[i8; 16]>

§

type Output = AutoSimd<[i8; 16]>

source§

impl Neg for AutoSimd<[i8; 32]>

§

type Output = AutoSimd<[i8; 32]>

source§

impl Neg for AutoSimd<[i16; 2]>

§

type Output = AutoSimd<[i16; 2]>

source§

impl Neg for AutoSimd<[i16; 4]>

§

type Output = AutoSimd<[i16; 4]>

source§

impl Neg for AutoSimd<[i16; 8]>

§

type Output = AutoSimd<[i16; 8]>

source§

impl Neg for AutoSimd<[i16; 16]>

§

type Output = AutoSimd<[i16; 16]>

source§

impl Neg for AutoSimd<[i16; 32]>

§

type Output = AutoSimd<[i16; 32]>

source§

impl Neg for AutoSimd<[i32; 2]>

§

type Output = AutoSimd<[i32; 2]>

source§

impl Neg for AutoSimd<[i32; 4]>

§

type Output = AutoSimd<[i32; 4]>

source§

impl Neg for AutoSimd<[i32; 8]>

§

type Output = AutoSimd<[i32; 8]>

source§

impl Neg for AutoSimd<[i32; 16]>

§

type Output = AutoSimd<[i32; 16]>

source§

impl Neg for AutoSimd<[i64; 2]>

§

type Output = AutoSimd<[i64; 2]>

source§

impl Neg for AutoSimd<[i64; 4]>

§

type Output = AutoSimd<[i64; 4]>

source§

impl Neg for AutoSimd<[i64; 8]>

§

type Output = AutoSimd<[i64; 8]>

source§

impl Neg for AutoSimd<[i128; 1]>

§

type Output = AutoSimd<[i128; 1]>

source§

impl Neg for AutoSimd<[i128; 2]>

§

type Output = AutoSimd<[i128; 2]>

source§

impl Neg for AutoSimd<[i128; 4]>

§

type Output = AutoSimd<[i128; 4]>

source§

impl Neg for AutoSimd<[isize; 2]>

source§

impl Neg for AutoSimd<[isize; 4]>

source§

impl Neg for AutoSimd<[isize; 8]>

source§

impl Neg for WideF32x4

source§

impl Neg for WideF32x8

source§

impl Neg for WideF64x4

source§

impl Neg for ATerm

source§

impl Neg for Z0

-Z0 = Z0

§

type Output = Z0

source§

impl Neg for f32x4

source§

impl Neg for f32x8

source§

impl Neg for f64x2

source§

impl Neg for f64x4

source§

impl Neg for i8x16

source§

impl Neg for i8x32

source§

impl Neg for i16x8

source§

impl Neg for i16x16

source§

impl Neg for i32x4

source§

impl Neg for i32x8

source§

impl Neg for i64x2

source§

impl Neg for i64x4

source§

impl Neg for u8x16

source§

impl Neg for u16x8

source§

impl Neg for u32x4

source§

impl Neg for u32x8

source§

impl Neg for u64x2

source§

impl Neg for u64x4

source§

impl<'a, T> Neg for &'a Unit<DualQuaternion<T>>

source§

impl<'a, T> Neg for &'a DualQuaternion<T>

source§

impl<'a, T> Neg for &'a Quaternion<T>

source§

impl<'a, T> Neg for &'a Complex<T>
where T: Clone + Num + Neg<Output = T>,

§

type Output = Complex<T>

source§

impl<'a, T> Neg for &'a Ratio<T>
where T: Clone + Integer + Neg<Output = T>,

§

type Output = Ratio<T>

source§

impl<'a, T, D> Neg for &'a OPoint<T, D>

§

type Output = OPoint<T, D>

source§

impl<'a, T, R, C, S> Neg for &'a Matrix<T, R, C, S>
where R: Dim, C: Dim, T: Scalar + ClosedNeg, S: Storage<T, R, C>, DefaultAllocator: Allocator<R, C>,

§

type Output = Matrix<T, R, C, <DefaultAllocator as Allocator<R, C>>::Buffer<T>>

source§

impl<T> Neg for Unit<DualQuaternion<T>>

source§

impl<T> Neg for DualQuaternion<T>

source§

impl<T> Neg for Quaternion<T>

source§

impl<T> Neg for Complex<T>
where T: Clone + Num + Neg<Output = T>,

§

type Output = Complex<T>

source§

impl<T> Neg for Ratio<T>
where T: Clone + Integer + Neg<Output = T>,

§

type Output = Ratio<T>

source§

impl<T, D> Neg for OPoint<T, D>

§

type Output = OPoint<T, D>

source§

impl<T, R, C> Neg for Unit<Matrix<T, R, C, <DefaultAllocator as Allocator<R, C>>::Buffer<T>>>
where T: Scalar + ClosedNeg, R: Dim, C: Dim, DefaultAllocator: Allocator<R, C>,

§

type Output = Unit<Matrix<T, R, C, <DefaultAllocator as Allocator<R, C>>::Buffer<T>>>

source§

impl<T, R, C, S> Neg for Matrix<T, R, C, S>
where R: Dim, C: Dim, T: Scalar + ClosedNeg, S: Storage<T, R, C>, DefaultAllocator: Allocator<R, C>,

§

type Output = Matrix<T, R, C, <DefaultAllocator as Allocator<R, C>>::Buffer<T>>

source§

impl<U> Neg for NInt<U>
where U: Unsigned + NonZero,

-NInt = PInt

§

type Output = PInt<U>

source§

impl<U> Neg for PInt<U>
where U: Unsigned + NonZero,

-PInt = NInt

§

type Output = NInt<U>

source§

impl<V, A> Neg for TArr<V, A>
where V: Neg, A: Neg,

§

type Output = TArr<<V as Neg>::Output, <A as Neg>::Output>

source§

impl<const N: usize> Neg for Simd<f32, N>

§

type Output = Simd<f32, N>

source§

impl<const N: usize> Neg for Simd<f64, N>

§

type Output = Simd<f64, N>

source§

impl<const N: usize> Neg for Simd<i8, N>

§

type Output = Simd<i8, N>

source§

impl<const N: usize> Neg for Simd<i16, N>

§

type Output = Simd<i16, N>

source§

impl<const N: usize> Neg for Simd<i32, N>

§

type Output = Simd<i32, N>

source§

impl<const N: usize> Neg for Simd<i64, N>

§

type Output = Simd<i64, N>

source§

impl<const N: usize> Neg for Simd<isize, N>

§

type Output = Simd<isize, N>