Trait comfy_core::Mul

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

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

The multiplication operator *.

Note that Rhs is Self by default, but this is not mandatory.

Examples

Multipliable rational numbers

use std::ops::Mul;

// By the fundamental theorem of arithmetic, rational numbers in lowest
// terms are unique. So, by keeping `Rational`s in reduced form, we can
// derive `Eq` and `PartialEq`.
#[derive(Debug, Eq, PartialEq)]
struct Rational {
    numerator: usize,
    denominator: usize,
}

impl Rational {
    fn new(numerator: usize, denominator: usize) -> Self {
        if denominator == 0 {
            panic!("Zero is an invalid denominator!");
        }

        // Reduce to lowest terms by dividing by the greatest common
        // divisor.
        let gcd = gcd(numerator, denominator);
        Self {
            numerator: numerator / gcd,
            denominator: denominator / gcd,
        }
    }
}

impl Mul for Rational {
    // The multiplication of rational numbers is a closed operation.
    type Output = Self;

    fn mul(self, rhs: Self) -> Self {
        let numerator = self.numerator * rhs.numerator;
        let denominator = self.denominator * rhs.denominator;
        Self::new(numerator, denominator)
    }
}

// Euclid's two-thousand-year-old algorithm for finding the greatest common
// divisor.
fn gcd(x: usize, y: usize) -> usize {
    let mut x = x;
    let mut y = y;
    while y != 0 {
        let t = y;
        y = x % y;
        x = t;
    }
    x
}

assert_eq!(Rational::new(1, 2), Rational::new(2, 4));
assert_eq!(Rational::new(2, 3) * Rational::new(3, 4),
           Rational::new(1, 2));

Multiplying vectors by scalars as in linear algebra

use std::ops::Mul;

struct Scalar { value: usize }

#[derive(Debug, PartialEq)]
struct Vector { value: Vec<usize> }

impl Mul<Scalar> for Vector {
    type Output = Self;

    fn mul(self, rhs: Scalar) -> Self::Output {
        Self { value: self.value.iter().map(|v| v * rhs.value).collect() }
    }
}

let vector = Vector { value: vec![2, 4, 6] };
let scalar = Scalar { value: 3 };
assert_eq!(vector * scalar, Vector { value: vec![6, 12, 18] });

Required Associated Types§

source

type Output

The resulting type after applying the * operator.

Required Methods§

source

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

Performs the * operation.

Example
assert_eq!(12 * 2, 24);

Implementors§

source§

impl Mul for f32

§

type Output = f32

source§

impl Mul for f64

§

type Output = f64

source§

impl Mul for i8

§

type Output = i8

source§

impl Mul for i16

§

type Output = i16

source§

impl Mul for i32

§

type Output = i32

source§

impl Mul for i64

§

type Output = i64

source§

impl Mul for i128

§

type Output = i128

source§

impl Mul for isize

source§

impl Mul for u8

§

type Output = u8

source§

impl Mul for u16

§

type Output = u16

source§

impl Mul for u32

§

type Output = u32

source§

impl Mul for u64

§

type Output = u64

source§

impl Mul for u128

§

type Output = u128

source§

impl Mul for usize

1.74.0 · source§

impl Mul for Saturating<i8>

1.74.0 · source§

impl Mul for Saturating<i16>

1.74.0 · source§

impl Mul for Saturating<i32>

1.74.0 · source§

impl Mul for Saturating<i64>

1.74.0 · source§

impl Mul for Saturating<i128>

1.74.0 · source§

impl Mul for Saturating<isize>

1.74.0 · source§

impl Mul for Saturating<u8>

1.74.0 · source§

impl Mul for Saturating<u16>

1.74.0 · source§

impl Mul for Saturating<u32>

1.74.0 · source§

impl Mul for Saturating<u64>

1.74.0 · source§

impl Mul for Saturating<u128>

1.74.0 · source§

impl Mul for Saturating<usize>

source§

impl Mul for Wrapping<i8>

source§

impl Mul for Wrapping<i16>

source§

impl Mul for Wrapping<i32>

source§

impl Mul for Wrapping<i64>

source§

impl Mul for Wrapping<i128>

source§

impl Mul for Wrapping<isize>

source§

impl Mul for Wrapping<u8>

source§

impl Mul for Wrapping<u16>

source§

impl Mul for Wrapping<u32>

source§

impl Mul for Wrapping<u64>

source§

impl Mul for Wrapping<u128>

source§

impl Mul for Wrapping<usize>

source§

impl Mul for Affine3A

source§

impl Mul for Mat2

§

type Output = Mat2

source§

impl Mul for Mat3A

source§

impl Mul for Quat

§

type Output = Quat

source§

impl Mul for Vec3A

source§

impl Mul for DAffine2

source§

impl Mul for DAffine3

source§

impl Mul for DMat2

source§

impl Mul for DMat3

source§

impl Mul for DMat4

source§

impl Mul for DQuat

source§

impl Mul for DVec2

source§

impl Mul for DVec3

source§

impl Mul for DVec4

source§

impl Mul for IVec3

source§

impl Mul for IVec4

source§

impl Mul for I64Vec2

source§

impl Mul for I64Vec3

source§

impl Mul for I64Vec4

source§

impl Mul for UVec3

source§

impl Mul for UVec4

source§

impl Mul for U64Vec2

source§

impl Mul for U64Vec3

source§

impl Mul for U64Vec4

source§

impl Mul for bf16

§

type Output = bf16

source§

impl Mul for f16

§

type Output = f16

source§

impl Mul for Affine2

source§

impl Mul for Color

source§

impl Mul for IVec2

source§

impl Mul for Mat3

§

type Output = Mat3

source§

impl Mul for Mat4

§

type Output = Mat4

source§

impl Mul for UVec2

source§

impl Mul for comfy_core::Vec2

§

type Output = Vec2

source§

impl Mul for Vec3

§

type Output = Vec3

source§

impl Mul for Vec4

§

type Output = Vec4

§

impl Mul for Complex

§

type Output = Complex

§

impl Mul for I11

§

type Output = I11

§

impl Mul for I20

§

type Output = I20

§

impl Mul for I24

§

type Output = I24

§

impl Mul for I48

§

type Output = I48

§

impl Mul for Rgba

§

type Output = Rgba

§

impl Mul for Rot2

§

type Output = Rot2

§

impl Mul for U11

§

type Output = U11

§

impl Mul for U20

§

type Output = U20

§

impl Mul for U24

§

type Output = U24

§

impl Mul for U48

§

type Output = U48

§

impl Mul for Vec2

Element-wise multiplication

§

type Output = Vec2

§

impl Mul for i24

§

type Output = i24

§

impl Mul for u24

§

type Output = u24

source§

impl Mul<&f32> for &f32

§

type Output = <f32 as Mul>::Output

source§

impl Mul<&f32> for f32

§

type Output = <f32 as Mul>::Output

source§

impl Mul<&f64> for &f64

§

type Output = <f64 as Mul>::Output

source§

impl Mul<&f64> for f64

§

type Output = <f64 as Mul>::Output

source§

impl Mul<&i8> for &i8

§

type Output = <i8 as Mul>::Output

source§

impl Mul<&i8> for i8

§

type Output = <i8 as Mul>::Output

source§

impl Mul<&i16> for &i16

§

type Output = <i16 as Mul>::Output

source§

impl Mul<&i16> for i16

§

type Output = <i16 as Mul>::Output

source§

impl Mul<&i32> for &i32

§

type Output = <i32 as Mul>::Output

source§

impl Mul<&i32> for i32

§

type Output = <i32 as Mul>::Output

source§

impl Mul<&i64> for &i64

§

type Output = <i64 as Mul>::Output

source§

impl Mul<&i64> for i64

§

type Output = <i64 as Mul>::Output

source§

impl Mul<&i128> for &i128

§

type Output = <i128 as Mul>::Output

source§

impl Mul<&i128> for i128

§

type Output = <i128 as Mul>::Output

source§

impl Mul<&isize> for &isize

§

type Output = <isize as Mul>::Output

source§

impl Mul<&isize> for isize

§

type Output = <isize as Mul>::Output

source§

impl Mul<&u8> for &u8

§

type Output = <u8 as Mul>::Output

source§

impl Mul<&u8> for u8

§

type Output = <u8 as Mul>::Output

source§

impl Mul<&u16> for &u16

§

type Output = <u16 as Mul>::Output

source§

impl Mul<&u16> for u16

§

type Output = <u16 as Mul>::Output

source§

impl Mul<&u32> for &u32

§

type Output = <u32 as Mul>::Output

source§

impl Mul<&u32> for u32

§

type Output = <u32 as Mul>::Output

source§

impl Mul<&u64> for &u64

§

type Output = <u64 as Mul>::Output

source§

impl Mul<&u64> for u64

§

type Output = <u64 as Mul>::Output

source§

impl Mul<&u128> for &u128

§

type Output = <u128 as Mul>::Output

source§

impl Mul<&u128> for u128

§

type Output = <u128 as Mul>::Output

source§

impl Mul<&usize> for &usize

§

type Output = <usize as Mul>::Output

source§

impl Mul<&usize> for usize

§

type Output = <usize as Mul>::Output

1.74.0 · source§

impl Mul<&Saturating<i8>> for &Saturating<i8>

1.74.0 · source§

impl Mul<&Saturating<i8>> for Saturating<i8>

1.74.0 · source§

impl Mul<&Saturating<i16>> for &Saturating<i16>

1.74.0 · source§

impl Mul<&Saturating<i16>> for Saturating<i16>

1.74.0 · source§

impl Mul<&Saturating<i32>> for &Saturating<i32>

1.74.0 · source§

impl Mul<&Saturating<i32>> for Saturating<i32>

1.74.0 · source§

impl Mul<&Saturating<i64>> for &Saturating<i64>

1.74.0 · source§

impl Mul<&Saturating<i64>> for Saturating<i64>

1.74.0 · source§

impl Mul<&Saturating<i128>> for &Saturating<i128>

1.74.0 · source§

impl Mul<&Saturating<i128>> for Saturating<i128>

1.74.0 · source§

impl Mul<&Saturating<isize>> for &Saturating<isize>

1.74.0 · source§

impl Mul<&Saturating<isize>> for Saturating<isize>

1.74.0 · source§

impl Mul<&Saturating<u8>> for &Saturating<u8>

1.74.0 · source§

impl Mul<&Saturating<u8>> for Saturating<u8>

1.74.0 · source§

impl Mul<&Saturating<u16>> for &Saturating<u16>

1.74.0 · source§

impl Mul<&Saturating<u16>> for Saturating<u16>

1.74.0 · source§

impl Mul<&Saturating<u32>> for &Saturating<u32>

1.74.0 · source§

impl Mul<&Saturating<u32>> for Saturating<u32>

1.74.0 · source§

impl Mul<&Saturating<u64>> for &Saturating<u64>

1.74.0 · source§

impl Mul<&Saturating<u64>> for Saturating<u64>

1.74.0 · source§

impl Mul<&Saturating<u128>> for &Saturating<u128>

1.74.0 · source§

impl Mul<&Saturating<u128>> for Saturating<u128>

1.74.0 · source§

impl Mul<&Saturating<usize>> for &Saturating<usize>

1.74.0 · source§

impl Mul<&Saturating<usize>> for Saturating<usize>

1.14.0 · source§

impl Mul<&Wrapping<i8>> for &Wrapping<i8>

§

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

1.14.0 · source§

impl Mul<&Wrapping<i8>> for Wrapping<i8>

§

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

1.14.0 · source§

impl Mul<&Wrapping<i16>> for &Wrapping<i16>

1.14.0 · source§

impl Mul<&Wrapping<i16>> for Wrapping<i16>

1.14.0 · source§

impl Mul<&Wrapping<i32>> for &Wrapping<i32>

1.14.0 · source§

impl Mul<&Wrapping<i32>> for Wrapping<i32>

1.14.0 · source§

impl Mul<&Wrapping<i64>> for &Wrapping<i64>

1.14.0 · source§

impl Mul<&Wrapping<i64>> for Wrapping<i64>

1.14.0 · source§

impl Mul<&Wrapping<i128>> for &Wrapping<i128>

1.14.0 · source§

impl Mul<&Wrapping<i128>> for Wrapping<i128>

1.14.0 · source§

impl Mul<&Wrapping<isize>> for &Wrapping<isize>

1.14.0 · source§

impl Mul<&Wrapping<isize>> for Wrapping<isize>

1.14.0 · source§

impl Mul<&Wrapping<u8>> for &Wrapping<u8>

§

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

1.14.0 · source§

impl Mul<&Wrapping<u8>> for Wrapping<u8>

§

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

1.14.0 · source§

impl Mul<&Wrapping<u16>> for &Wrapping<u16>

1.14.0 · source§

impl Mul<&Wrapping<u16>> for Wrapping<u16>

1.14.0 · source§

impl Mul<&Wrapping<u32>> for &Wrapping<u32>

1.14.0 · source§

impl Mul<&Wrapping<u32>> for Wrapping<u32>

1.14.0 · source§

impl Mul<&Wrapping<u64>> for &Wrapping<u64>

1.14.0 · source§

impl Mul<&Wrapping<u64>> for Wrapping<u64>

1.14.0 · source§

impl Mul<&Wrapping<u128>> for &Wrapping<u128>

1.14.0 · source§

impl Mul<&Wrapping<u128>> for Wrapping<u128>

1.14.0 · source§

impl Mul<&Wrapping<usize>> for &Wrapping<usize>

1.14.0 · source§

impl Mul<&Wrapping<usize>> for Wrapping<usize>

source§

impl Mul<&bf16> for &bf16

§

type Output = <bf16 as Mul>::Output

source§

impl Mul<&bf16> for bf16

§

type Output = <bf16 as Mul>::Output

source§

impl Mul<&f16> for &f16

§

type Output = <f16 as Mul>::Output

source§

impl Mul<&f16> for f16

§

type Output = <f16 as Mul>::Output

source§

impl Mul<f32> for Mat2

§

type Output = Mat2

source§

impl Mul<f32> for Mat3A

source§

impl Mul<f32> for Quat

§

type Output = Quat

source§

impl Mul<f32> for Vec3A

source§

impl Mul<f32> for Frame

source§

impl Mul<f32> for Color

source§

impl Mul<f32> for Mat3

§

type Output = Mat3

source§

impl Mul<f32> for Mat4

§

type Output = Mat4

source§

impl Mul<f32> for comfy_core::Vec2

§

type Output = Vec2

source§

impl Mul<f32> for Vec3

§

type Output = Vec3

source§

impl Mul<f32> for Vec4

§

type Output = Vec4

§

impl Mul<f32> for Complex

§

type Output = Complex

§

impl Mul<f32> for Pos2

§

type Output = Pos2

§

impl Mul<f32> for Rect

§

type Output = Rect

§

impl Mul<f32> for Rgba

§

type Output = Rgba

§

impl Mul<f32> for Rot2

Scales the rotor.

§

type Output = Rot2

§

impl Mul<f32> for Vec2

§

type Output = Vec2

source§

impl Mul<f64> for DMat2

source§

impl Mul<f64> for DMat3

source§

impl Mul<f64> for DMat4

source§

impl Mul<f64> for DQuat

source§

impl Mul<f64> for DVec2

source§

impl Mul<f64> for DVec3

source§

impl Mul<f64> for DVec4

source§

impl Mul<i32> for IVec3

source§

impl Mul<i32> for IVec4

source§

impl Mul<i32> for IVec2

§

impl Mul<i32> for TimeSpec

§

type Output = TimeSpec

§

impl Mul<i32> for TimeVal

§

type Output = TimeVal

source§

impl Mul<i64> for I64Vec2

source§

impl Mul<i64> for I64Vec3

source§

impl Mul<i64> for I64Vec4

source§

impl Mul<u32> for UVec3

source§

impl Mul<u32> for UVec4

1.3.0 · source§

impl Mul<u32> for Duration

source§

impl Mul<u32> for UVec2

source§

impl Mul<u64> for U64Vec2

source§

impl Mul<u64> for U64Vec3

source§

impl Mul<u64> for U64Vec4

source§

impl Mul<Affine3A> for Mat4

§

type Output = Mat4

source§

impl Mul<Mat2> for f32

§

type Output = Mat2

source§

impl Mul<Mat3A> for f32

source§

impl Mul<Mat3A> for Affine2

source§

impl Mul<Vec3A> for f32

source§

impl Mul<Vec3A> for Mat3A

source§

impl Mul<Vec3A> for Quat

source§

impl Mul<Vec3A> for Mat3

source§

impl Mul<DAffine2> for DMat3

source§

impl Mul<DAffine3> for DMat4

source§

impl Mul<DMat2> for f64

source§

impl Mul<DMat3> for f64

source§

impl Mul<DMat3> for DAffine2

source§

impl Mul<DMat4> for f64

source§

impl Mul<DMat4> for DAffine3

source§

impl Mul<DVec2> for f64

source§

impl Mul<DVec2> for DMat2

source§

impl Mul<DVec3> for f64

source§

impl Mul<DVec3> for DMat3

source§

impl Mul<DVec3> for DQuat

source§

impl Mul<DVec4> for f64

source§

impl Mul<DVec4> for DMat4

source§

impl Mul<IVec3> for i32

source§

impl Mul<IVec4> for i32

source§

impl Mul<I64Vec2> for i64

source§

impl Mul<I64Vec3> for i64

source§

impl Mul<I64Vec4> for i64

source§

impl Mul<UVec3> for u32

source§

impl Mul<UVec4> for u32

source§

impl Mul<U64Vec2> for u64

source§

impl Mul<U64Vec3> for u64

source§

impl Mul<U64Vec4> for u64

source§

impl Mul<bf16> for &bf16

§

type Output = <bf16 as Mul>::Output

source§

impl Mul<f16> for &f16

§

type Output = <f16 as Mul>::Output

source§

impl Mul<Affine2> for Mat3A

source§

impl Mul<Affine2> for Mat3

§

type Output = Mat3

source§

impl Mul<Complex<f32>> for f32

source§

impl Mul<Complex<f64>> for f64

source§

impl Mul<Complex<i8>> for i8

source§

impl Mul<Complex<i16>> for i16

source§

impl Mul<Complex<i32>> for i32

source§

impl Mul<Complex<i64>> for i64

source§

impl Mul<Complex<i128>> for i128

source§

impl Mul<Complex<isize>> for isize

source§

impl Mul<Complex<u8>> for u8

source§

impl Mul<Complex<u16>> for u16

source§

impl Mul<Complex<u32>> for u32

source§

impl Mul<Complex<u64>> for u64

source§

impl Mul<Complex<u128>> for u128

source§

impl Mul<Complex<usize>> for usize

1.31.0 · source§

impl Mul<Duration> for u32

source§

impl Mul<IVec2> for i32

source§

impl Mul<Mat3> for f32

§

type Output = Mat3

source§

impl Mul<Mat3> for Affine2

§

type Output = Mat3

source§

impl Mul<Mat4> for f32

§

type Output = Mat4

source§

impl Mul<Mat4> for Affine3A

§

type Output = Mat4

source§

impl Mul<UVec2> for u32

source§

impl Mul<Vec2> for f32

§

type Output = Vec2

source§

impl Mul<Vec2> for Mat2

§

type Output = Vec2

source§

impl Mul<Vec3> for f32

§

type Output = Vec3

source§

impl Mul<Vec3> for Mat3A

§

type Output = Vec3

source§

impl Mul<Vec3> for Quat

§

type Output = Vec3

source§

impl Mul<Vec3> for Mat3

§

type Output = Vec3

source§

impl Mul<Vec4> for f32

§

type Output = Vec4

source§

impl Mul<Vec4> for Mat4

§

type Output = Vec4

§

impl Mul<Pos2> for &RectTransform

Transforms the position.

§

type Output = Pos2

§

impl Mul<Pos2> for f32

§

type Output = Pos2

§

impl Mul<Pos2> for RectTransform

Transforms the position.

§

type Output = Pos2

§

impl Mul<Rect> for f32

§

type Output = Rect

§

impl Mul<Rgba> for f32

§

type Output = Rgba

§

impl Mul<Rot2> for f32

Scales the rotor.

§

type Output = Rot2

§

impl Mul<Vec2> for f32

§

type Output = Vec2

§

impl Mul<Vec2> for Rot2

Rotates (and maybe scales) the vector.

§

type Output = Vec2

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

§

type Output = <f32 as Mul>::Output

source§

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

§

type Output = <f64 as Mul>::Output

source§

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

§

type Output = <i8 as Mul>::Output

source§

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

§

type Output = <i16 as Mul>::Output

source§

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

§

type Output = <i32 as Mul>::Output

source§

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

§

type Output = <i64 as Mul>::Output

source§

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

§

type Output = <i128 as Mul>::Output

source§

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

§

type Output = <isize as Mul>::Output

source§

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

§

type Output = <u8 as Mul>::Output

source§

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

§

type Output = <u16 as Mul>::Output

source§

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

§

type Output = <u32 as Mul>::Output

source§

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

§

type Output = <u64 as Mul>::Output

source§

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

§

type Output = <u128 as Mul>::Output

source§

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

§

type Output = <usize as Mul>::Output

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.74.0 · source§

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

1.14.0 · source§

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

§

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

1.14.0 · source§

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

1.14.0 · source§

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

1.14.0 · source§

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

1.14.0 · source§

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

1.14.0 · source§

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

1.14.0 · source§

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

§

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

1.14.0 · source§

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

1.14.0 · source§

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

1.14.0 · source§

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

1.14.0 · source§

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

1.14.0 · source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

§

type Output = Ratio<T>

source§

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

§

type Output = Complex<T>

source§

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

§

type Output = Complex<T>

source§

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

§

type Output = Ratio<T>

source§

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

§

type Output = Ratio<T>

source§

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

§

type Output = Complex<T>

source§

impl<'a, T> Mul<&'a OrderedFloat<T>> for OrderedFloat<T>
where T: Mul<&'a T>,

source§

impl<'a, T> Mul<&'a T> for &'a OrderedFloat<T>
where &'a T: Mul,

source§

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

§

type Output = Ratio<T>

source§

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

§

type Output = Complex<T>

source§

impl<'a, T> Mul<&'a T> for OrderedFloat<T>
where T: Mul<&'a T>,

source§

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

§

type Output = Ratio<T>

source§

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

§

type Output = Complex<T>

source§

impl<'a, T> Mul<OrderedFloat<T>> for &'a OrderedFloat<T>
where &'a T: Mul<T>,

source§

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

§

type Output = Ratio<T>

source§

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

§

type Output = Complex<T>

source§

impl<'a, T> Mul<T> for &'a OrderedFloat<T>
where &'a T: Mul<T>,

source§

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

§

type Output = Simd<T, N>

§

impl<Src, Dst, T> Mul<Scale<T, Src, Dst>> for Length<T, Src>
where T: Mul,

§

type Output = Length<<T as Mul>::Output, Dst>

source§

impl<T> Mul for &NotNan<T>
where T: Float,

§

type Output = NotNan<T>

source§

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

§

type Output = Ratio<T>

source§

impl<T> Mul for NotNan<T>
where T: Float,

§

type Output = NotNan<T>

source§

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

§

type Output = Complex<T>

source§

impl<T> Mul for OrderedFloat<T>
where T: Mul,

§

impl<T> Mul for Vec2<T>
where T: Mul,

§

type Output = Vec2<<T as Mul>::Output>

source§

impl<T> Mul<&NotNan<T>> for NotNan<T>
where T: Float,

§

type Output = NotNan<T>

source§

impl<T> Mul<&T> for &NotNan<T>
where T: Float,

§

type Output = NotNan<T>

source§

impl<T> Mul<&T> for NotNan<T>
where T: Float,

§

type Output = NotNan<T>

source§

impl<T> Mul<NotNan<T>> for &NotNan<T>
where T: Float,

§

type Output = NotNan<T>

source§

impl<T> Mul<T> for &NotNan<T>
where T: Float,

§

type Output = NotNan<T>

source§

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

§

type Output = Ratio<T>

source§

impl<T> Mul<T> for NotNan<T>
where T: Float,

Multiplies a float directly.

Panics if the provided value is NaN or the computation results in NaN

§

type Output = NotNan<T>

source§

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

§

type Output = Complex<T>

source§

impl<T> Mul<T> for OrderedFloat<T>
where T: Mul,

§

impl<T> Mul<T> for Angle<T>
where T: Mul<Output = T>,

§

type Output = Angle<T>

§

impl<T> Mul<T> for SampleRate
where u32: Mul<T, Output = u32>,

§

type Output = SampleRate

§

impl<T, A, B, C> Mul<Scale<T, B, C>> for Scale<T, A, B>
where T: Mul,

§

type Output = Scale<<T as Mul>::Output, A, C>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Box2D<T, U1>
where T: Copy + Mul,

§

type Output = Box2D<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Box3D<T, U1>
where T: Copy + Mul,

§

type Output = Box3D<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Point2D<T, U1>
where T: Copy + Mul,

§

type Output = Point2D<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Point3D<T, U1>
where T: Copy + Mul,

§

type Output = Point3D<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Rect<T, U1>
where T: Copy + Mul,

§

type Output = Rect<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for SideOffsets2D<T, U1>
where T: Copy + Mul,

§

type Output = SideOffsets2D<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Size2D<T, U1>
where T: Copy + Mul,

§

type Output = Size2D<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Size3D<T, U1>
where T: Copy + Mul,

§

type Output = Size3D<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Vector2D<T, U1>
where T: Copy + Mul,

§

type Output = Vector2D<<T as Mul>::Output, U2>

§

impl<T, U1, U2> Mul<Scale<T, U1, U2>> for Vector3D<T, U1>
where T: Copy + Mul,

§

type Output = Vector3D<<T as Mul>::Output, U2>

§

impl<T, U> Mul<T> for Box2D<T, U>
where T: Copy + Mul,

§

type Output = Box2D<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Box3D<T, U>
where T: Copy + Mul,

§

type Output = Box3D<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Length<T, U>
where T: Mul,

§

type Output = Length<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Point2D<T, U>
where T: Copy + Mul,

§

type Output = Point2D<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Point3D<T, U>
where T: Copy + Mul,

§

type Output = Point3D<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Rect<T, U>
where T: Copy + Mul,

§

type Output = Rect<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for SideOffsets2D<T, U>
where T: Copy + Mul,

§

type Output = SideOffsets2D<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Size2D<T, U>
where T: Copy + Mul,

§

type Output = Size2D<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Size3D<T, U>
where T: Copy + Mul,

§

type Output = Size3D<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Vector2D<T, U>
where T: Copy + Mul,

§

type Output = Vector2D<<T as Mul>::Output, U>

§

impl<T, U> Mul<T> for Vector3D<T, U>
where T: Copy + Mul,

§

type Output = Vector3D<<T as Mul>::Output, U>

source§

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

§

type Output = Simd<T, N>

source§

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

§

type Output = Simd<T, N>

source§

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

§

type Output = Simd<f32, N>

source§

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

§

type Output = Simd<f64, N>

source§

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

§

type Output = Simd<i8, N>

source§

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

§

type Output = Simd<i16, N>

source§

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

§

type Output = Simd<i32, N>

source§

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

§

type Output = Simd<i64, N>

source§

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

§

type Output = Simd<isize, N>

source§

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

§

type Output = Simd<u8, N>

source§

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

§

type Output = Simd<u16, N>

source§

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

§

type Output = Simd<u32, N>

source§

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

§

type Output = Simd<u64, N>

source§

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

§

type Output = Simd<usize, N>