Trait grafix_toolbox::lib::ops::Add

1.0.0 · source ·
pub trait Add<Rhs = Self> {
    type Output;

    // Required method
    fn add(self, rhs: Rhs) -> Self::Output;
}
Expand description

The addition operator +.

Note that Rhs is Self by default, but this is not mandatory. For example, std::time::SystemTime implements Add<Duration>, which permits operations of the form SystemTime = SystemTime + Duration.

§Examples

§Addable points

use std::ops::Add;

#[derive(Debug, Copy, Clone, PartialEq)]
struct Point {
    x: i32,
    y: i32,
}

impl Add for Point {
    type Output = Self;

    fn add(self, other: Self) -> Self {
        Self {
            x: self.x + other.x,
            y: self.y + other.y,
        }
    }
}

assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },
           Point { x: 3, y: 3 });

§Implementing Add with generics

Here is an example of the same Point struct implementing the Add trait using generics.

use std::ops::Add;

#[derive(Debug, Copy, Clone, PartialEq)]
struct Point<T> {
    x: T,
    y: T,
}

// Notice that the implementation uses the associated type `Output`.
impl<T: Add<Output = T>> Add for Point<T> {
    type Output = Self;

    fn add(self, other: Self) -> Self::Output {
        Self {
            x: self.x + other.x,
            y: self.y + other.y,
        }
    }
}

assert_eq!(Point { x: 1, y: 0 } + Point { x: 2, y: 3 },
           Point { x: 3, y: 3 });

Required Associated Types§

1.0.0 · source

type Output

The resulting type after applying the + operator.

Required Methods§

1.0.0 · source

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

Performs the + operation.

§Example
assert_eq!(12 + 1, 13);

Implementors§

1.0.0 · source§

impl Add for f16

§

type Output = f16

1.0.0 · source§

impl Add for f32

§

type Output = f32

1.0.0 · source§

impl Add for f64

§

type Output = f64

1.0.0 · source§

impl Add for f128

§

type Output = f128

1.0.0 · source§

impl Add for i8

§

type Output = i8

1.0.0 · source§

impl Add for i16

§

type Output = i16

1.0.0 · source§

impl Add for i32

§

type Output = i32

1.0.0 · source§

impl Add for i64

§

type Output = i64

1.0.0 · source§

impl Add for i128

§

type Output = i128

1.0.0 · source§

impl Add for isize

1.0.0 · source§

impl Add for u8

§

type Output = u8

1.0.0 · source§

impl Add for u16

§

type Output = u16

1.0.0 · source§

impl Add for u32

§

type Output = u32

1.0.0 · source§

impl Add for u64

§

type Output = u64

1.0.0 · source§

impl Add for u128

§

type Output = u128

1.0.0 · source§

impl Add for usize

source§

impl Add for f16

§

type Output = f16

source§

impl Add for Assume

1.3.0 · source§

impl Add for Duration

1.74.0 · source§

impl Add for Saturating<i8>

1.74.0 · source§

impl Add for Saturating<i16>

1.74.0 · source§

impl Add for Saturating<i32>

1.74.0 · source§

impl Add for Saturating<i64>

1.74.0 · source§

impl Add for Saturating<i128>

1.74.0 · source§

impl Add for Saturating<isize>

1.74.0 · source§

impl Add for Saturating<u8>

1.74.0 · source§

impl Add for Saturating<u16>

1.74.0 · source§

impl Add for Saturating<u32>

1.74.0 · source§

impl Add for Saturating<u64>

1.74.0 · source§

impl Add for Saturating<u128>

1.74.0 · source§

impl Add for Saturating<usize>

1.0.0 · source§

impl Add for Wrapping<i8>

1.0.0 · source§

impl Add for Wrapping<i16>

1.0.0 · source§

impl Add for Wrapping<i32>

1.0.0 · source§

impl Add for Wrapping<i64>

1.0.0 · source§

impl Add for Wrapping<i128>

1.0.0 · source§

impl Add for Wrapping<isize>

1.0.0 · source§

impl Add for Wrapping<u8>

1.0.0 · source§

impl Add for Wrapping<u16>

1.0.0 · source§

impl Add for Wrapping<u32>

1.0.0 · source§

impl Add for Wrapping<u64>

1.0.0 · source§

impl Add for Wrapping<u128>

1.0.0 · source§

impl Add for Wrapping<usize>

source§

impl Add for bf16

§

type Output = bf16

source§

impl Add for m128

§

type Output = m128

source§

impl Add for m128d

source§

impl Add for AutoSimd<[f32; 2]>

§

type Output = AutoSimd<[f32; 2]>

source§

impl Add for AutoSimd<[f32; 4]>

§

type Output = AutoSimd<[f32; 4]>

source§

impl Add for AutoSimd<[f32; 8]>

§

type Output = AutoSimd<[f32; 8]>

source§

impl Add for AutoSimd<[f32; 16]>

§

type Output = AutoSimd<[f32; 16]>

source§

impl Add for AutoSimd<[f64; 2]>

§

type Output = AutoSimd<[f64; 2]>

source§

impl Add for AutoSimd<[f64; 4]>

§

type Output = AutoSimd<[f64; 4]>

source§

impl Add for AutoSimd<[f64; 8]>

§

type Output = AutoSimd<[f64; 8]>

source§

impl Add for AutoSimd<[i8; 2]>

§

type Output = AutoSimd<[i8; 2]>

source§

impl Add for AutoSimd<[i8; 4]>

§

type Output = AutoSimd<[i8; 4]>

source§

impl Add for AutoSimd<[i8; 8]>

§

type Output = AutoSimd<[i8; 8]>

source§

impl Add for AutoSimd<[i8; 16]>

§

type Output = AutoSimd<[i8; 16]>

source§

impl Add for AutoSimd<[i8; 32]>

§

type Output = AutoSimd<[i8; 32]>

source§

impl Add for AutoSimd<[i16; 2]>

§

type Output = AutoSimd<[i16; 2]>

source§

impl Add for AutoSimd<[i16; 4]>

§

type Output = AutoSimd<[i16; 4]>

source§

impl Add for AutoSimd<[i16; 8]>

§

type Output = AutoSimd<[i16; 8]>

source§

impl Add for AutoSimd<[i16; 16]>

§

type Output = AutoSimd<[i16; 16]>

source§

impl Add for AutoSimd<[i16; 32]>

§

type Output = AutoSimd<[i16; 32]>

source§

impl Add for AutoSimd<[i32; 2]>

§

type Output = AutoSimd<[i32; 2]>

source§

impl Add for AutoSimd<[i32; 4]>

§

type Output = AutoSimd<[i32; 4]>

source§

impl Add for AutoSimd<[i32; 8]>

§

type Output = AutoSimd<[i32; 8]>

source§

impl Add for AutoSimd<[i32; 16]>

§

type Output = AutoSimd<[i32; 16]>

source§

impl Add for AutoSimd<[i64; 2]>

§

type Output = AutoSimd<[i64; 2]>

source§

impl Add for AutoSimd<[i64; 4]>

§

type Output = AutoSimd<[i64; 4]>

source§

impl Add for AutoSimd<[i64; 8]>

§

type Output = AutoSimd<[i64; 8]>

source§

impl Add for AutoSimd<[i128; 1]>

§

type Output = AutoSimd<[i128; 1]>

source§

impl Add for AutoSimd<[i128; 2]>

§

type Output = AutoSimd<[i128; 2]>

source§

impl Add for AutoSimd<[i128; 4]>

§

type Output = AutoSimd<[i128; 4]>

source§

impl Add for AutoSimd<[isize; 2]>

source§

impl Add for AutoSimd<[isize; 4]>

source§

impl Add for AutoSimd<[isize; 8]>

source§

impl Add for AutoSimd<[u8; 2]>

§

type Output = AutoSimd<[u8; 2]>

source§

impl Add for AutoSimd<[u8; 4]>

§

type Output = AutoSimd<[u8; 4]>

source§

impl Add for AutoSimd<[u8; 8]>

§

type Output = AutoSimd<[u8; 8]>

source§

impl Add for AutoSimd<[u8; 16]>

§

type Output = AutoSimd<[u8; 16]>

source§

impl Add for AutoSimd<[u8; 32]>

§

type Output = AutoSimd<[u8; 32]>

source§

impl Add for AutoSimd<[u16; 2]>

§

type Output = AutoSimd<[u16; 2]>

source§

impl Add for AutoSimd<[u16; 4]>

§

type Output = AutoSimd<[u16; 4]>

source§

impl Add for AutoSimd<[u16; 8]>

§

type Output = AutoSimd<[u16; 8]>

source§

impl Add for AutoSimd<[u16; 16]>

§

type Output = AutoSimd<[u16; 16]>

source§

impl Add for AutoSimd<[u16; 32]>

§

type Output = AutoSimd<[u16; 32]>

source§

impl Add for AutoSimd<[u32; 2]>

§

type Output = AutoSimd<[u32; 2]>

source§

impl Add for AutoSimd<[u32; 4]>

§

type Output = AutoSimd<[u32; 4]>

source§

impl Add for AutoSimd<[u32; 8]>

§

type Output = AutoSimd<[u32; 8]>

source§

impl Add for AutoSimd<[u32; 16]>

§

type Output = AutoSimd<[u32; 16]>

source§

impl Add for AutoSimd<[u64; 2]>

§

type Output = AutoSimd<[u64; 2]>

source§

impl Add for AutoSimd<[u64; 4]>

§

type Output = AutoSimd<[u64; 4]>

source§

impl Add for AutoSimd<[u64; 8]>

§

type Output = AutoSimd<[u64; 8]>

source§

impl Add for AutoSimd<[u128; 1]>

§

type Output = AutoSimd<[u128; 1]>

source§

impl Add for AutoSimd<[u128; 2]>

§

type Output = AutoSimd<[u128; 2]>

source§

impl Add for AutoSimd<[u128; 4]>

§

type Output = AutoSimd<[u128; 4]>

source§

impl Add for AutoSimd<[usize; 2]>

source§

impl Add for AutoSimd<[usize; 4]>

source§

impl Add for AutoSimd<[usize; 8]>

source§

impl Add for WideF32x4

source§

impl Add for WideF32x8

source§

impl Add for WideF64x4

source§

impl Add for ATerm

source§

impl Add for f32x4

source§

impl Add for f32x8

source§

impl Add for f64x2

source§

impl Add for f64x4

source§

impl Add for i8x16

source§

impl Add for i8x32

source§

impl Add for i16x8

source§

impl Add for i16x16

source§

impl Add for i32x4

source§

impl Add for i32x8

source§

impl Add for i64x2

source§

impl Add for i64x4

source§

impl Add for u8x16

source§

impl Add for u16x8

source§

impl Add for u16x16

source§

impl Add for u32x4

source§

impl Add for u32x8

source§

impl Add for u64x2

source§

impl Add for u64x4

1.0.0 · source§

impl Add<&f16> for &f16

§

type Output = <f16 as Add>::Output

1.0.0 · source§

impl Add<&f16> for f16

§

type Output = <f16 as Add>::Output

1.0.0 · source§

impl Add<&f32> for &f32

§

type Output = <f32 as Add>::Output

1.0.0 · source§

impl Add<&f32> for f32

§

type Output = <f32 as Add>::Output

1.0.0 · source§

impl Add<&f64> for &f64

§

type Output = <f64 as Add>::Output

1.0.0 · source§

impl Add<&f64> for f64

§

type Output = <f64 as Add>::Output

1.0.0 · source§

impl Add<&f128> for &f128

§

type Output = <f128 as Add>::Output

1.0.0 · source§

impl Add<&f128> for f128

§

type Output = <f128 as Add>::Output

1.0.0 · source§

impl Add<&i8> for &i8

§

type Output = <i8 as Add>::Output

1.0.0 · source§

impl Add<&i8> for i8

§

type Output = <i8 as Add>::Output

1.0.0 · source§

impl Add<&i16> for &i16

§

type Output = <i16 as Add>::Output

1.0.0 · source§

impl Add<&i16> for i16

§

type Output = <i16 as Add>::Output

1.0.0 · source§

impl Add<&i32> for &i32

§

type Output = <i32 as Add>::Output

1.0.0 · source§

impl Add<&i32> for i32

§

type Output = <i32 as Add>::Output

1.0.0 · source§

impl Add<&i64> for &i64

§

type Output = <i64 as Add>::Output

1.0.0 · source§

impl Add<&i64> for i64

§

type Output = <i64 as Add>::Output

1.0.0 · source§

impl Add<&i128> for &i128

§

type Output = <i128 as Add>::Output

1.0.0 · source§

impl Add<&i128> for i128

§

type Output = <i128 as Add>::Output

1.0.0 · source§

impl Add<&isize> for &isize

§

type Output = <isize as Add>::Output

1.0.0 · source§

impl Add<&isize> for isize

§

type Output = <isize as Add>::Output

1.0.0 · source§

impl Add<&str> for String

Implements the + operator for concatenating two strings.

This consumes the String on the left-hand side and re-uses its buffer (growing it if necessary). This is done to avoid allocating a new String and copying the entire contents on every operation, which would lead to O(n^2) running time when building an n-byte string by repeated concatenation.

The string on the right-hand side is only borrowed; its contents are copied into the returned String.

§Examples

Concatenating two Strings takes the first by value and borrows the second:

let a = String::from("hello");
let b = String::from(" world");
let c = a + &b;
// `a` is moved and can no longer be used here.

If you want to keep using the first String, you can clone it and append to the clone instead:

let a = String::from("hello");
let b = String::from(" world");
let c = a.clone() + &b;
// `a` is still valid here.

Concatenating &str slices can be done by converting the first to a String:

let a = "hello";
let b = " world";
let c = a.to_string() + b;
1.0.0 · source§

impl Add<&u8> for &u8

§

type Output = <u8 as Add>::Output

1.0.0 · source§

impl Add<&u8> for u8

§

type Output = <u8 as Add>::Output

1.0.0 · source§

impl Add<&u16> for &u16

§

type Output = <u16 as Add>::Output

1.0.0 · source§

impl Add<&u16> for u16

§

type Output = <u16 as Add>::Output

1.0.0 · source§

impl Add<&u32> for &u32

§

type Output = <u32 as Add>::Output

1.0.0 · source§

impl Add<&u32> for u32

§

type Output = <u32 as Add>::Output

1.0.0 · source§

impl Add<&u64> for &u64

§

type Output = <u64 as Add>::Output

1.0.0 · source§

impl Add<&u64> for u64

§

type Output = <u64 as Add>::Output

1.0.0 · source§

impl Add<&u128> for &u128

§

type Output = <u128 as Add>::Output

1.0.0 · source§

impl Add<&u128> for u128

§

type Output = <u128 as Add>::Output

1.0.0 · source§

impl Add<&usize> for &usize

§

type Output = <usize as Add>::Output

1.0.0 · source§

impl Add<&usize> for usize

§

type Output = <usize as Add>::Output

source§

impl Add<&f16> for &f16

§

type Output = <f16 as Add>::Output

source§

impl Add<&f16> for f16

§

type Output = <f16 as Add>::Output

1.74.0 · source§

impl Add<&Saturating<i8>> for &Saturating<i8>

1.74.0 · source§

impl Add<&Saturating<i8>> for Saturating<i8>

1.74.0 · source§

impl Add<&Saturating<i16>> for &Saturating<i16>

1.74.0 · source§

impl Add<&Saturating<i16>> for Saturating<i16>

1.74.0 · source§

impl Add<&Saturating<i32>> for &Saturating<i32>

1.74.0 · source§

impl Add<&Saturating<i32>> for Saturating<i32>

1.74.0 · source§

impl Add<&Saturating<i64>> for &Saturating<i64>

1.74.0 · source§

impl Add<&Saturating<i64>> for Saturating<i64>

1.74.0 · source§

impl Add<&Saturating<i128>> for &Saturating<i128>

1.74.0 · source§

impl Add<&Saturating<i128>> for Saturating<i128>

1.74.0 · source§

impl Add<&Saturating<isize>> for &Saturating<isize>

1.74.0 · source§

impl Add<&Saturating<isize>> for Saturating<isize>

1.74.0 · source§

impl Add<&Saturating<u8>> for &Saturating<u8>

1.74.0 · source§

impl Add<&Saturating<u8>> for Saturating<u8>

1.74.0 · source§

impl Add<&Saturating<u16>> for &Saturating<u16>

1.74.0 · source§

impl Add<&Saturating<u16>> for Saturating<u16>

1.74.0 · source§

impl Add<&Saturating<u32>> for &Saturating<u32>

1.74.0 · source§

impl Add<&Saturating<u32>> for Saturating<u32>

1.74.0 · source§

impl Add<&Saturating<u64>> for &Saturating<u64>

1.74.0 · source§

impl Add<&Saturating<u64>> for Saturating<u64>

1.74.0 · source§

impl Add<&Saturating<u128>> for &Saturating<u128>

1.74.0 · source§

impl Add<&Saturating<u128>> for Saturating<u128>

1.74.0 · source§

impl Add<&Saturating<usize>> for &Saturating<usize>

1.74.0 · source§

impl Add<&Saturating<usize>> for Saturating<usize>

1.14.0 · source§

impl Add<&Wrapping<i8>> for &Wrapping<i8>

§

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

1.14.0 · source§

impl Add<&Wrapping<i8>> for Wrapping<i8>

§

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

1.14.0 · source§

impl Add<&Wrapping<i16>> for &Wrapping<i16>

1.14.0 · source§

impl Add<&Wrapping<i16>> for Wrapping<i16>

1.14.0 · source§

impl Add<&Wrapping<i32>> for &Wrapping<i32>

1.14.0 · source§

impl Add<&Wrapping<i32>> for Wrapping<i32>

1.14.0 · source§

impl Add<&Wrapping<i64>> for &Wrapping<i64>

1.14.0 · source§

impl Add<&Wrapping<i64>> for Wrapping<i64>

1.14.0 · source§

impl Add<&Wrapping<i128>> for &Wrapping<i128>

1.14.0 · source§

impl Add<&Wrapping<i128>> for Wrapping<i128>

1.14.0 · source§

impl Add<&Wrapping<isize>> for &Wrapping<isize>

1.14.0 · source§

impl Add<&Wrapping<isize>> for Wrapping<isize>

1.14.0 · source§

impl Add<&Wrapping<u8>> for &Wrapping<u8>

§

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

1.14.0 · source§

impl Add<&Wrapping<u8>> for Wrapping<u8>

§

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

1.14.0 · source§

impl Add<&Wrapping<u16>> for &Wrapping<u16>

1.14.0 · source§

impl Add<&Wrapping<u16>> for Wrapping<u16>

1.14.0 · source§

impl Add<&Wrapping<u32>> for &Wrapping<u32>

1.14.0 · source§

impl Add<&Wrapping<u32>> for Wrapping<u32>

1.14.0 · source§

impl Add<&Wrapping<u64>> for &Wrapping<u64>

1.14.0 · source§

impl Add<&Wrapping<u64>> for Wrapping<u64>

1.14.0 · source§

impl Add<&Wrapping<u128>> for &Wrapping<u128>

1.14.0 · source§

impl Add<&Wrapping<u128>> for Wrapping<u128>

1.14.0 · source§

impl Add<&Wrapping<usize>> for &Wrapping<usize>

1.14.0 · source§

impl Add<&Wrapping<usize>> for Wrapping<usize>

source§

impl Add<&bf16> for &bf16

§

type Output = <bf16 as Add>::Output

source§

impl Add<&bf16> for bf16

§

type Output = <bf16 as Add>::Output

source§

impl Add<&f32x4> for f32x4

source§

impl Add<&f32x8> for f32x8

source§

impl Add<&f64x2> for f64x2

source§

impl Add<&f64x4> for f64x4

source§

impl Add<&i8x16> for i8x16

source§

impl Add<&i8x32> for i8x32

source§

impl Add<&i16x8> for i16x8

source§

impl Add<&i16x16> for i16x16

source§

impl Add<&i32x4> for i32x4

source§

impl Add<&i32x8> for i32x8

source§

impl Add<&i64x2> for i64x2

source§

impl Add<&u8x16> for u8x16

source§

impl Add<&u16x8> for u16x8

source§

impl Add<&u16x16> for u16x16

source§

impl Add<&u32x4> for u32x4

source§

impl Add<&u32x8> for u32x8

source§

impl Add<&u64x2> for u64x2

source§

impl Add<&u64x4> for u64x4

source§

impl Add<f32> for f32x4

source§

impl Add<f32> for f32x8

source§

impl Add<f64> for f64x2

source§

impl Add<f64> for f64x4

source§

impl Add<i8> for i8x16

source§

impl Add<i8> for i8x32

source§

impl Add<i16> for i16x8

source§

impl Add<i16> for i16x16

source§

impl Add<i32> for i32x4

source§

impl Add<i32> for i32x8

source§

impl Add<i64> for i64x2

source§

impl Add<i64> for i64x4

source§

impl Add<u8> for u8x16

source§

impl Add<u16> for u16x8

source§

impl Add<u16> for u16x16

source§

impl Add<u32> for u32x4

source§

impl Add<u64> for u64x2

source§

impl Add<u64> for u64x4

source§

impl Add<usize> for Dyn

§

type Output = Dyn

source§

impl Add<f16> for &f16

§

type Output = <f16 as Add>::Output

1.8.0 · source§

impl Add<Duration> for Instant

1.8.0 · source§

impl Add<Duration> for SystemTime

source§

impl Add<bf16> for &bf16

§

type Output = <bf16 as Add>::Output

source§

impl Add<Complex<f32>> for f32

source§

impl Add<Complex<f64>> for f64

source§

impl Add<Complex<i8>> for i8

source§

impl Add<Complex<i16>> for i16

source§

impl Add<Complex<i32>> for i32

source§

impl Add<Complex<i64>> for i64

source§

impl Add<Complex<i128>> for i128

source§

impl Add<Complex<isize>> for isize

source§

impl Add<Complex<u8>> for u8

source§

impl Add<Complex<u16>> for u16

source§

impl Add<Complex<u32>> for u32

source§

impl Add<Complex<u64>> for u64

source§

impl Add<Complex<u128>> for u128

source§

impl Add<Complex<usize>> for usize

source§

impl Add<B0> for UTerm

UTerm + B0 = UTerm

source§

impl Add<B1> for UTerm

UTerm + B1 = UInt<UTerm, B1>

source§

impl Add<f32x4> for f32

source§

impl Add<f32x8> for f32

source§

impl Add<f64x2> for f64

source§

impl Add<f64x4> for f64

source§

impl Add<i8x16> for i8

source§

impl Add<i8x32> for i8

source§

impl Add<i16x8> for i16

source§

impl Add<i16x16> for i16

source§

impl Add<i32x4> for i32

source§

impl Add<i32x8> for i32

source§

impl Add<i64x2> for i64

source§

impl Add<i64x4> for i64

source§

impl Add<u8x16> for u8

source§

impl Add<u16x8> for u16

source§

impl Add<u16x16> for u16

source§

impl Add<u32x4> for u32

source§

impl Add<u64x2> for u64

source§

impl Add<u64x4> for u64

1.14.0 · source§

impl<'a> Add for Cow<'a, str>

§

type Output = Cow<'a, str>

1.14.0 · source§

impl<'a> Add<&'a str> for Cow<'a, str>

§

type Output = Cow<'a, str>

source§

impl<'a> Add<&'a Complex<f32>> for f32

source§

impl<'a> Add<&'a Complex<f64>> for f64

source§

impl<'a> Add<&'a Complex<i8>> for i8

source§

impl<'a> Add<&'a Complex<i16>> for i16

source§

impl<'a> Add<&'a Complex<i32>> for i32

source§

impl<'a> Add<&'a Complex<i64>> for i64

source§

impl<'a> Add<&'a Complex<i128>> for i128

source§

impl<'a> Add<&'a Complex<isize>> for isize

source§

impl<'a> Add<&'a Complex<u8>> for u8

source§

impl<'a> Add<&'a Complex<u16>> for u16

source§

impl<'a> Add<&'a Complex<u32>> for u32

source§

impl<'a> Add<&'a Complex<u64>> for u64

source§

impl<'a> Add<&'a Complex<u128>> for u128

source§

impl<'a> Add<&'a Complex<usize>> for usize

1.0.0 · source§

impl<'a> Add<f16> for &'a f16

§

type Output = <f16 as Add>::Output

1.0.0 · source§

impl<'a> Add<f32> for &'a f32

§

type Output = <f32 as Add>::Output

1.0.0 · source§

impl<'a> Add<f64> for &'a f64

§

type Output = <f64 as Add>::Output

1.0.0 · source§

impl<'a> Add<f128> for &'a f128

§

type Output = <f128 as Add>::Output

1.0.0 · source§

impl<'a> Add<i8> for &'a i8

§

type Output = <i8 as Add>::Output

1.0.0 · source§

impl<'a> Add<i16> for &'a i16

§

type Output = <i16 as Add>::Output

1.0.0 · source§

impl<'a> Add<i32> for &'a i32

§

type Output = <i32 as Add>::Output

1.0.0 · source§

impl<'a> Add<i64> for &'a i64

§

type Output = <i64 as Add>::Output

1.0.0 · source§

impl<'a> Add<i128> for &'a i128

§

type Output = <i128 as Add>::Output

1.0.0 · source§

impl<'a> Add<isize> for &'a isize

§

type Output = <isize as Add>::Output

1.0.0 · source§

impl<'a> Add<u8> for &'a u8

§

type Output = <u8 as Add>::Output

1.0.0 · source§

impl<'a> Add<u16> for &'a u16

§

type Output = <u16 as Add>::Output

1.0.0 · source§

impl<'a> Add<u32> for &'a u32

§

type Output = <u32 as Add>::Output

1.0.0 · source§

impl<'a> Add<u64> for &'a u64

§

type Output = <u64 as Add>::Output

1.0.0 · source§

impl<'a> Add<u128> for &'a u128

§

type Output = <u128 as Add>::Output

1.0.0 · source§

impl<'a> Add<usize> for &'a usize

§

type Output = <usize as Add>::Output

1.74.0 · source§

impl<'a> Add<Saturating<i8>> for &'a Saturating<i8>

1.74.0 · source§

impl<'a> Add<Saturating<i16>> for &'a Saturating<i16>

1.74.0 · source§

impl<'a> Add<Saturating<i32>> for &'a Saturating<i32>

1.74.0 · source§

impl<'a> Add<Saturating<i64>> for &'a Saturating<i64>

1.74.0 · source§

impl<'a> Add<Saturating<i128>> for &'a Saturating<i128>

1.74.0 · source§

impl<'a> Add<Saturating<isize>> for &'a Saturating<isize>

1.74.0 · source§

impl<'a> Add<Saturating<u8>> for &'a Saturating<u8>

1.74.0 · source§

impl<'a> Add<Saturating<u16>> for &'a Saturating<u16>

1.74.0 · source§

impl<'a> Add<Saturating<u32>> for &'a Saturating<u32>

1.74.0 · source§

impl<'a> Add<Saturating<u64>> for &'a Saturating<u64>

1.74.0 · source§

impl<'a> Add<Saturating<u128>> for &'a Saturating<u128>

1.74.0 · source§

impl<'a> Add<Saturating<usize>> for &'a Saturating<usize>

1.14.0 · source§

impl<'a> Add<Wrapping<i8>> for &'a Wrapping<i8>

§

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

1.14.0 · source§

impl<'a> Add<Wrapping<i16>> for &'a Wrapping<i16>

1.14.0 · source§

impl<'a> Add<Wrapping<i32>> for &'a Wrapping<i32>

1.14.0 · source§

impl<'a> Add<Wrapping<i64>> for &'a Wrapping<i64>

1.14.0 · source§

impl<'a> Add<Wrapping<i128>> for &'a Wrapping<i128>

1.14.0 · source§

impl<'a> Add<Wrapping<isize>> for &'a Wrapping<isize>

1.14.0 · source§

impl<'a> Add<Wrapping<u8>> for &'a Wrapping<u8>

§

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

1.14.0 · source§

impl<'a> Add<Wrapping<u16>> for &'a Wrapping<u16>

1.14.0 · source§

impl<'a> Add<Wrapping<u32>> for &'a Wrapping<u32>

1.14.0 · source§

impl<'a> Add<Wrapping<u64>> for &'a Wrapping<u64>

1.14.0 · source§

impl<'a> Add<Wrapping<u128>> for &'a Wrapping<u128>

1.14.0 · source§

impl<'a> Add<Wrapping<usize>> for &'a Wrapping<usize>

source§

impl<'a> Add<Complex<f32>> for &'a f32

source§

impl<'a> Add<Complex<f64>> for &'a f64

source§

impl<'a> Add<Complex<i8>> for &'a i8

source§

impl<'a> Add<Complex<i16>> for &'a i16

source§

impl<'a> Add<Complex<i32>> for &'a i32

source§

impl<'a> Add<Complex<i64>> for &'a i64

source§

impl<'a> Add<Complex<i128>> for &'a i128

source§

impl<'a> Add<Complex<isize>> for &'a isize

source§

impl<'a> Add<Complex<u8>> for &'a u8

source§

impl<'a> Add<Complex<u16>> for &'a u16

source§

impl<'a> Add<Complex<u32>> for &'a u32

source§

impl<'a> Add<Complex<u64>> for &'a u64

source§

impl<'a> Add<Complex<u128>> for &'a u128

source§

impl<'a> Add<Complex<usize>> for &'a usize

source§

impl<'a, 'b> Add<&'a Complex<f32>> for &'b f32

source§

impl<'a, 'b> Add<&'a Complex<f64>> for &'b f64

source§

impl<'a, 'b> Add<&'a Complex<i8>> for &'b i8

source§

impl<'a, 'b> Add<&'a Complex<i16>> for &'b i16

source§

impl<'a, 'b> Add<&'a Complex<i32>> for &'b i32

source§

impl<'a, 'b> Add<&'a Complex<i64>> for &'b i64

source§

impl<'a, 'b> Add<&'a Complex<i128>> for &'b i128

source§

impl<'a, 'b> Add<&'a Complex<isize>> for &'b isize

source§

impl<'a, 'b> Add<&'a Complex<u8>> for &'b u8

source§

impl<'a, 'b> Add<&'a Complex<u16>> for &'b u16

source§

impl<'a, 'b> Add<&'a Complex<u32>> for &'b u32

source§

impl<'a, 'b> Add<&'a Complex<u64>> for &'b u64

source§

impl<'a, 'b> Add<&'a Complex<u128>> for &'b u128

source§

impl<'a, 'b> Add<&'a Complex<usize>> for &'b usize

source§

impl<'a, 'b, T> Add<&'b DualQuaternion<T>> for &'a DualQuaternion<T>

source§

impl<'a, 'b, T> Add<&'b Quaternion<T>> for &'a Quaternion<T>

source§

impl<'a, 'b, T> Add<&'b Complex<T>> for &'a Complex<T>
where T: Clone + Num,

§

type Output = Complex<T>

source§

impl<'a, 'b, T> Add<&'b Ratio<T>> for &'a Ratio<T>
where T: Clone + Integer,

§

type Output = Ratio<T>

source§

impl<'a, 'b, T> Add<&'a T> for &'b Complex<T>
where T: Clone + Num,

§

type Output = Complex<T>

source§

impl<'a, 'b, T> Add<&'b T> for &'a Ratio<T>
where T: Clone + Integer,

§

type Output = Ratio<T>

source§

impl<'a, 'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>
where T: Scalar + ClosedAddAssign, ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>, D1: DimName, D2: Dim, SB: Storage<T, D2>, DefaultAllocator: Allocator<D1>,

§

type Output = OPoint<T, D1>

source§

impl<'a, 'b, T, R1, C1, R2, C2, SA, SB> Add<&'b Matrix<T, R2, C2, SB>> for &'a Matrix<T, R1, C1, SA>
where R1: Dim, C1: Dim, R2: Dim, C2: Dim, T: Scalar + ClosedAddAssign, SA: Storage<T, R1, C1>, SB: Storage<T, R2, C2>, DefaultAllocator: SameShapeAllocator<R1, C1, R2, C2>, ShapeConstraint: SameNumberOfRows<R1, R2> + SameNumberOfColumns<C1, C2>,

source§

impl<'a, T> Add<&'a Complex<T>> for Complex<T>
where T: Clone + Num,

§

type Output = Complex<T>

source§

impl<'a, T> Add<&'a Ratio<T>> for Ratio<T>
where T: Clone + Integer,

§

type Output = Ratio<T>

source§

impl<'a, T> Add<&'a T> for Complex<T>
where T: Clone + Num,

§

type Output = Complex<T>

source§

impl<'a, T> Add<&'a T> for Ratio<T>
where T: Clone + Integer,

§

type Output = Ratio<T>

source§

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

source§

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

source§

impl<'a, T> Add<Complex<T>> for &'a Complex<T>
where T: Clone + Num,

§

type Output = Complex<T>

source§

impl<'a, T> Add<Ratio<T>> for &'a Ratio<T>
where T: Clone + Integer,

§

type Output = Ratio<T>

source§

impl<'a, T> Add<T> for &'a Complex<T>
where T: Clone + Num,

§

type Output = Complex<T>

source§

impl<'a, T> Add<T> for &'a Ratio<T>
where T: Clone + Integer,

§

type Output = Ratio<T>

source§

impl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>
where T: Scalar + ClosedAddAssign, ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>, D1: DimName, D2: Dim, SB: Storage<T, D2>, DefaultAllocator: Allocator<D1>,

§

type Output = OPoint<T, D1>

source§

impl<'a, T, R1, C1, R2, C2, SA, SB> Add<Matrix<T, R2, C2, SB>> for &'a Matrix<T, R1, C1, SA>
where R1: Dim, C1: Dim, R2: Dim, C2: Dim, T: Scalar + ClosedAddAssign, SA: Storage<T, R1, C1>, SB: Storage<T, R2, C2>, DefaultAllocator: SameShapeAllocator<R2, C2, R1, C1>, ShapeConstraint: SameNumberOfRows<R2, R1> + SameNumberOfColumns<C2, C1>,

source§

impl<'b, T> Add<&'b DualQuaternion<T>> for DualQuaternion<T>

source§

impl<'b, T> Add<&'b Quaternion<T>> for Quaternion<T>

source§

impl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>
where T: Scalar + ClosedAddAssign, ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>, D1: DimName, D2: Dim, SB: Storage<T, D2>, DefaultAllocator: Allocator<D1>,

§

type Output = OPoint<T, D1>

source§

impl<'b, T, R1, C1, R2, C2, SA, SB> Add<&'b Matrix<T, R2, C2, SB>> for Matrix<T, R1, C1, SA>
where R1: Dim, C1: Dim, R2: Dim, C2: Dim, T: Scalar + ClosedAddAssign, SA: Storage<T, R1, C1>, SB: Storage<T, R2, C2>, DefaultAllocator: SameShapeAllocator<R1, C1, R2, C2>, ShapeConstraint: SameNumberOfRows<R1, R2> + SameNumberOfColumns<C1, C2>,

source§

impl<'lhs, 'rhs, T, const N: usize> Add<&'rhs Simd<T, N>> for &'lhs Simd<T, N>
where T: SimdElement, Simd<T, N>: Add<Output = Simd<T, N>>, LaneCount<N>: SupportedLaneCount,

§

type Output = Simd<T, N>

source§

impl<Al, Vl, Ar, Vr> Add<TArr<Vr, Ar>> for TArr<Vl, Al>
where Al: Add<Ar>, Vl: Add<Vr>,

§

type Output = TArr<<Vl as Add<Vr>>::Output, <Al as Add<Ar>>::Output>

source§

impl<I> Add<I> for Z0
where I: Integer,

Z0 + I = I

§

type Output = I

source§

impl<T> Add for DualQuaternion<T>

source§

impl<T> Add for Quaternion<T>

source§

impl<T> Add for Complex<T>
where T: Clone + Num,

§

type Output = Complex<T>

source§

impl<T> Add for Ratio<T>
where T: Clone + Integer,

§

type Output = Ratio<T>

source§

impl<T> Add<T> for Complex<T>
where T: Clone + Num,

§

type Output = Complex<T>

source§

impl<T> Add<T> for Ratio<T>
where T: Clone + Integer,

§

type Output = Ratio<T>

source§

impl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>
where T: Scalar + ClosedAddAssign, ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>, D1: DimName, D2: Dim, SB: Storage<T, D2>, DefaultAllocator: Allocator<D1>,

§

type Output = OPoint<T, D1>

source§

impl<T, R1, C1, R2, C2, SA, SB> Add<Matrix<T, R2, C2, SB>> for Matrix<T, R1, C1, SA>
where R1: Dim, C1: Dim, R2: Dim, C2: Dim, T: Scalar + ClosedAddAssign, SA: Storage<T, R1, C1>, SB: Storage<T, R2, C2>, DefaultAllocator: SameShapeAllocator<R1, C1, R2, C2>, ShapeConstraint: SameNumberOfRows<R1, R2> + SameNumberOfColumns<C1, C2>,

source§

impl<T, const N: usize> Add<&Simd<T, N>> for Simd<T, N>
where T: SimdElement, Simd<T, N>: Add<Output = Simd<T, N>>, LaneCount<N>: SupportedLaneCount,

§

type Output = Simd<T, N>

source§

impl<T, const N: usize> Add<Simd<T, N>> for &Simd<T, N>
where T: SimdElement, Simd<T, N>: Add<Output = Simd<T, N>>, LaneCount<N>: SupportedLaneCount,

§

type Output = Simd<T, N>

source§

impl<U> Add<B1> for UInt<U, B0>
where U: Unsigned,

UInt<U, B0> + B1 = UInt<U + B1>

§

type Output = UInt<U, B1>

source§

impl<U> Add<B1> for UInt<U, B1>
where U: Unsigned + Add<B1>, <U as Add<B1>>::Output: Unsigned,

UInt<U, B1> + B1 = UInt<U + B1, B0>

§

type Output = UInt<<U as Add<B1>>::Output, B0>

source§

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

NInt + Z0 = NInt

§

type Output = NInt<U>

source§

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

PInt + Z0 = PInt

§

type Output = PInt<U>

source§

impl<U> Add<U> for UTerm
where U: Unsigned,

UTerm + U = U

§

type Output = U

source§

impl<U, B> Add<B0> for UInt<U, B>
where U: Unsigned, B: Bit,

U + B0 = U

§

type Output = UInt<U, B>

source§

impl<U, B> Add<UTerm> for UInt<U, B>
where U: Unsigned, B: Bit,

UInt<U, B> + UTerm = UInt<U, B>

§

type Output = UInt<U, B>

source§

impl<Ul, Ur> Add<NInt<Ur>> for NInt<Ul>
where Ul: Unsigned + NonZero + Add<Ur>, Ur: Unsigned + NonZero, <Ul as Add<Ur>>::Output: Unsigned + NonZero,

N(Ul) + N(Ur) = N(Ul + Ur)

§

type Output = NInt<<Ul as Add<Ur>>::Output>

source§

impl<Ul, Ur> Add<NInt<Ur>> for PInt<Ul>
where Ul: Unsigned + NonZero + Cmp<Ur> + PrivateIntegerAdd<<Ul as Cmp<Ur>>::Output, Ur>, Ur: Unsigned + NonZero,

P(Ul) + N(Ur): We resolve this with our PrivateAdd

§

type Output = <Ul as PrivateIntegerAdd<<Ul as Cmp<Ur>>::Output, Ur>>::Output

source§

impl<Ul, Ur> Add<PInt<Ur>> for NInt<Ul>
where Ul: Unsigned + NonZero, Ur: Unsigned + NonZero + Cmp<Ul> + PrivateIntegerAdd<<Ur as Cmp<Ul>>::Output, Ul>,

N(Ul) + P(Ur): We resolve this with our PrivateAdd

§

type Output = <Ur as PrivateIntegerAdd<<Ur as Cmp<Ul>>::Output, Ul>>::Output

source§

impl<Ul, Ur> Add<PInt<Ur>> for PInt<Ul>
where Ul: Unsigned + NonZero + Add<Ur>, Ur: Unsigned + NonZero, <Ul as Add<Ur>>::Output: Unsigned + NonZero,

P(Ul) + P(Ur) = P(Ul + Ur)

§

type Output = PInt<<Ul as Add<Ur>>::Output>

source§

impl<Ul, Ur> Add<UInt<Ur, B0>> for UInt<Ul, B0>
where Ul: Unsigned + Add<Ur>, Ur: Unsigned,

UInt<Ul, B0> + UInt<Ur, B0> = UInt<Ul + Ur, B0>

§

type Output = UInt<<Ul as Add<Ur>>::Output, B0>

source§

impl<Ul, Ur> Add<UInt<Ur, B0>> for UInt<Ul, B1>
where Ul: Unsigned + Add<Ur>, Ur: Unsigned,

UInt<Ul, B1> + UInt<Ur, B0> = UInt<Ul + Ur, B1>

§

type Output = UInt<<Ul as Add<Ur>>::Output, B1>

source§

impl<Ul, Ur> Add<UInt<Ur, B1>> for UInt<Ul, B0>
where Ul: Unsigned + Add<Ur>, Ur: Unsigned,

UInt<Ul, B0> + UInt<Ur, B1> = UInt<Ul + Ur, B1>

§

type Output = UInt<<Ul as Add<Ur>>::Output, B1>

source§

impl<Ul, Ur> Add<UInt<Ur, B1>> for UInt<Ul, B1>
where Ul: Unsigned + Add<Ur>, Ur: Unsigned, <Ul as Add<Ur>>::Output: Add<B1>,

UInt<Ul, B1> + UInt<Ur, B1> = UInt<(Ul + Ur) + B1, B0>

§

type Output = UInt<<<Ul as Add<Ur>>::Output as Add<B1>>::Output, B0>

source§

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

§

type Output = Simd<f32, N>

source§

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

§

type Output = Simd<f64, N>

source§

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

§

type Output = Simd<i8, N>

source§

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

§

type Output = Simd<i16, N>

source§

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

§

type Output = Simd<i32, N>

source§

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

§

type Output = Simd<i64, N>

source§

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

§

type Output = Simd<isize, N>

source§

impl<const N: usize> Add for Simd<u8, N>

§

type Output = Simd<u8, N>

source§

impl<const N: usize> Add for Simd<u16, N>

§

type Output = Simd<u16, N>

source§

impl<const N: usize> Add for Simd<u32, N>

§

type Output = Simd<u32, N>

source§

impl<const N: usize> Add for Simd<u64, N>

§

type Output = Simd<u64, N>

source§

impl<const N: usize> Add for Simd<usize, N>

§

type Output = Simd<usize, N>