Trait 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§

1.0.0 · Source

type Output

The resulting type after applying the * operator.

Required Methods§

1.0.0 · Source

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

Performs the * operation.

§Example
assert_eq!(12 * 2, 24);

Implementors§

1.0.0 · Source§

impl Mul for f16

1.0.0 · Source§

impl Mul for f32

1.0.0 · Source§

impl Mul for f64

1.0.0 · Source§

impl Mul for f128

1.0.0 · Source§

impl Mul for i8

1.0.0 · Source§

impl Mul for i16

1.0.0 · Source§

impl Mul for i32

1.0.0 · Source§

impl Mul for i64

1.0.0 · Source§

impl Mul for i128

1.0.0 · Source§

impl Mul for isize

1.0.0 · Source§

impl Mul for u8

1.0.0 · Source§

impl Mul for u16

1.0.0 · Source§

impl Mul for u32

1.0.0 · Source§

impl Mul for u64

1.0.0 · Source§

impl Mul for u128

1.0.0 · 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>

1.0.0 · Source§

impl Mul for Wrapping<i8>

1.0.0 · Source§

impl Mul for Wrapping<i16>

1.0.0 · Source§

impl Mul for Wrapping<i32>

1.0.0 · Source§

impl Mul for Wrapping<i64>

1.0.0 · Source§

impl Mul for Wrapping<i128>

1.0.0 · Source§

impl Mul for Wrapping<isize>

1.0.0 · Source§

impl Mul for Wrapping<u8>

1.0.0 · Source§

impl Mul for Wrapping<u16>

1.0.0 · Source§

impl Mul for Wrapping<u32>

1.0.0 · Source§

impl Mul for Wrapping<u64>

1.0.0 · Source§

impl Mul for Wrapping<u128>

1.0.0 · Source§

impl Mul for Wrapping<usize>

Source§

impl Mul for I11

Source§

impl Mul for I20

Source§

impl Mul for I24

Source§

impl Mul for I48

Source§

impl Mul for U11

Source§

impl Mul for U20

Source§

impl Mul for U24

Source§

impl Mul for U48

Source§

impl Mul for Rgba

Source§

impl Mul for Rot2

Source§

impl Mul for emath::vec2::Vec2

Element-wise multiplication

Source§

impl Mul for glam::f32::affine2::Affine2

Source§

impl Mul for glam::f32::affine3a::Affine3A

Source§

impl Mul for glam::f32::affine3a::Affine3A

Source§

impl Mul for glam::f32::mat3::Mat3

Source§

impl Mul for glam::f32::sse2::mat2::Mat2

Source§

impl Mul for glam::f32::sse2::mat2::Mat2

Source§

impl Mul for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul for glam::f32::sse2::mat4::Mat4

Source§

impl Mul for glam::f32::sse2::quat::Quat

Source§

impl Mul for glam::f32::sse2::quat::Quat

Source§

impl Mul for glam::f32::sse2::vec3a::Vec3A

Source§

impl Mul for glam::f32::sse2::vec3a::Vec3A

Source§

impl Mul for glam::f32::sse2::vec4::Vec4

Source§

impl Mul for glam::f32::vec2::Vec2

Source§

impl Mul for glam::f32::vec3::Vec3

Source§

impl Mul for glam::f64::daffine2::DAffine2

Source§

impl Mul for glam::f64::daffine2::DAffine2

Source§

impl Mul for glam::f64::daffine3::DAffine3

Source§

impl Mul for glam::f64::daffine3::DAffine3

Source§

impl Mul for glam::f64::dmat2::DMat2

Source§

impl Mul for glam::f64::dmat2::DMat2

Source§

impl Mul for glam::f64::dmat3::DMat3

Source§

impl Mul for glam::f64::dmat3::DMat3

Source§

impl Mul for glam::f64::dmat4::DMat4

Source§

impl Mul for glam::f64::dmat4::DMat4

Source§

impl Mul for glam::f64::dquat::DQuat

Source§

impl Mul for glam::f64::dquat::DQuat

Source§

impl Mul for glam::f64::dvec2::DVec2

Source§

impl Mul for glam::f64::dvec2::DVec2

Source§

impl Mul for glam::f64::dvec3::DVec3

Source§

impl Mul for glam::f64::dvec3::DVec3

Source§

impl Mul for glam::f64::dvec4::DVec4

Source§

impl Mul for glam::f64::dvec4::DVec4

Source§

impl Mul for I16Vec2

Source§

impl Mul for I16Vec3

Source§

impl Mul for I16Vec4

Source§

impl Mul for glam::i32::ivec2::IVec2

Source§

impl Mul for glam::i32::ivec3::IVec3

Source§

impl Mul for glam::i32::ivec3::IVec3

Source§

impl Mul for glam::i32::ivec4::IVec4

Source§

impl Mul for glam::i32::ivec4::IVec4

Source§

impl Mul for glam::i64::i64vec2::I64Vec2

Source§

impl Mul for glam::i64::i64vec2::I64Vec2

Source§

impl Mul for glam::i64::i64vec3::I64Vec3

Source§

impl Mul for glam::i64::i64vec3::I64Vec3

Source§

impl Mul for glam::i64::i64vec4::I64Vec4

Source§

impl Mul for glam::i64::i64vec4::I64Vec4

Source§

impl Mul for U16Vec2

Source§

impl Mul for U16Vec3

Source§

impl Mul for U16Vec4

Source§

impl Mul for glam::u32::uvec2::UVec2

Source§

impl Mul for glam::u32::uvec3::UVec3

Source§

impl Mul for glam::u32::uvec3::UVec3

Source§

impl Mul for glam::u32::uvec4::UVec4

Source§

impl Mul for glam::u32::uvec4::UVec4

Source§

impl Mul for glam::u64::u64vec2::U64Vec2

Source§

impl Mul for glam::u64::u64vec2::U64Vec2

Source§

impl Mul for glam::u64::u64vec3::U64Vec3

Source§

impl Mul for glam::u64::u64vec3::U64Vec3

Source§

impl Mul for glam::u64::u64vec4::U64Vec4

Source§

impl Mul for glam::u64::u64vec4::U64Vec4

Source§

impl Mul for bf16

Source§

impl Mul for f16

Source§

impl Mul for symphonia_core::dsp::complex::Complex

Source§

impl Mul for i24

Source§

impl Mul for u24

Source§

impl Mul for comfy_core::Affine2

Source§

impl Mul for Color

Source§

impl Mul for comfy_core::IVec2

Source§

impl Mul for comfy_core::Mat3

Source§

impl Mul for comfy_core::Mat4

Source§

impl Mul for comfy_core::UVec2

Source§

impl Mul for comfy_core::Vec2

Source§

impl Mul for comfy_core::Vec3

Source§

impl Mul for comfy_core::Vec4

1.0.0 · Source§

impl Mul<&f16> for &f16

1.0.0 · Source§

impl Mul<&f16> for f16

1.0.0 · Source§

impl Mul<&f32> for &f32

1.0.0 · Source§

impl Mul<&f32> for f32

1.0.0 · Source§

impl Mul<&f64> for &f64

1.0.0 · Source§

impl Mul<&f64> for f64

1.0.0 · Source§

impl Mul<&f128> for &f128

1.0.0 · Source§

impl Mul<&f128> for f128

1.0.0 · Source§

impl Mul<&i8> for &i8

1.0.0 · Source§

impl Mul<&i8> for i8

1.0.0 · Source§

impl Mul<&i16> for &i16

1.0.0 · Source§

impl Mul<&i16> for i16

1.0.0 · Source§

impl Mul<&i32> for &i32

1.0.0 · Source§

impl Mul<&i32> for i32

1.0.0 · Source§

impl Mul<&i64> for &i64

1.0.0 · Source§

impl Mul<&i64> for i64

1.0.0 · Source§

impl Mul<&i128> for &i128

1.0.0 · Source§

impl Mul<&i128> for i128

1.0.0 · Source§

impl Mul<&isize> for &isize

1.0.0 · Source§

impl Mul<&isize> for isize

1.0.0 · Source§

impl Mul<&u8> for &u8

1.0.0 · Source§

impl Mul<&u8> for u8

1.0.0 · Source§

impl Mul<&u16> for &u16

1.0.0 · Source§

impl Mul<&u16> for u16

1.0.0 · Source§

impl Mul<&u32> for &u32

1.0.0 · Source§

impl Mul<&u32> for u32

1.0.0 · Source§

impl Mul<&u64> for &u64

1.0.0 · Source§

impl Mul<&u64> for u64

1.0.0 · Source§

impl Mul<&u128> for &u128

1.0.0 · Source§

impl Mul<&u128> for u128

1.0.0 · Source§

impl Mul<&usize> for &usize

1.0.0 · Source§

impl Mul<&usize> for usize

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>

1.14.0 · Source§

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

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>

1.14.0 · Source§

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

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

Source§

impl Mul<&bf16> for bf16

Source§

impl Mul<&f16> for &f16

Source§

impl Mul<&f16> for f16

Source§

impl Mul<f32> for Rgba

Source§

impl Mul<f32> for Pos2

Source§

impl Mul<f32> for emath::rect::Rect

Source§

impl Mul<f32> for Rot2

Scales the rotor.

Source§

impl Mul<f32> for emath::vec2::Vec2

Source§

impl Mul<f32> for glam::f32::mat3::Mat3

Source§

impl Mul<f32> for glam::f32::sse2::mat2::Mat2

Source§

impl Mul<f32> for glam::f32::sse2::mat2::Mat2

Source§

impl Mul<f32> for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul<f32> for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul<f32> for glam::f32::sse2::mat4::Mat4

Source§

impl Mul<f32> for glam::f32::sse2::quat::Quat

Source§

impl Mul<f32> for glam::f32::sse2::quat::Quat

Source§

impl Mul<f32> for glam::f32::sse2::vec3a::Vec3A

Source§

impl Mul<f32> for glam::f32::sse2::vec3a::Vec3A

Source§

impl Mul<f32> for glam::f32::sse2::vec4::Vec4

Source§

impl Mul<f32> for glam::f32::vec2::Vec2

Source§

impl Mul<f32> for glam::f32::vec3::Vec3

Source§

impl Mul<f32> for Frame

Source§

impl Mul<f32> for symphonia_core::dsp::complex::Complex

Source§

impl Mul<f32> for Color

Source§

impl Mul<f32> for comfy_core::Mat3

Source§

impl Mul<f32> for comfy_core::Mat4

Source§

impl Mul<f32> for comfy_core::Vec2

Source§

impl Mul<f32> for comfy_core::Vec3

Source§

impl Mul<f32> for comfy_core::Vec4

Source§

impl Mul<f64> for glam::f64::dmat2::DMat2

Source§

impl Mul<f64> for glam::f64::dmat2::DMat2

Source§

impl Mul<f64> for glam::f64::dmat3::DMat3

Source§

impl Mul<f64> for glam::f64::dmat3::DMat3

Source§

impl Mul<f64> for glam::f64::dmat4::DMat4

Source§

impl Mul<f64> for glam::f64::dmat4::DMat4

Source§

impl Mul<f64> for glam::f64::dquat::DQuat

Source§

impl Mul<f64> for glam::f64::dquat::DQuat

Source§

impl Mul<f64> for glam::f64::dvec2::DVec2

Source§

impl Mul<f64> for glam::f64::dvec2::DVec2

Source§

impl Mul<f64> for glam::f64::dvec3::DVec3

Source§

impl Mul<f64> for glam::f64::dvec3::DVec3

Source§

impl Mul<f64> for glam::f64::dvec4::DVec4

Source§

impl Mul<f64> for glam::f64::dvec4::DVec4

Source§

impl Mul<i16> for I16Vec2

Source§

impl Mul<i16> for I16Vec3

Source§

impl Mul<i16> for I16Vec4

Source§

impl Mul<i32> for TimeDelta

Source§

impl Mul<i32> for glam::i32::ivec2::IVec2

Source§

impl Mul<i32> for glam::i32::ivec3::IVec3

Source§

impl Mul<i32> for glam::i32::ivec3::IVec3

Source§

impl Mul<i32> for glam::i32::ivec4::IVec4

Source§

impl Mul<i32> for glam::i32::ivec4::IVec4

Source§

impl Mul<i32> for comfy_core::IVec2

Source§

impl Mul<i64> for glam::i64::i64vec2::I64Vec2

Source§

impl Mul<i64> for glam::i64::i64vec2::I64Vec2

Source§

impl Mul<i64> for glam::i64::i64vec3::I64Vec3

Source§

impl Mul<i64> for glam::i64::i64vec3::I64Vec3

Source§

impl Mul<i64> for glam::i64::i64vec4::I64Vec4

Source§

impl Mul<i64> for glam::i64::i64vec4::I64Vec4

Source§

impl Mul<u16> for U16Vec2

Source§

impl Mul<u16> for U16Vec3

Source§

impl Mul<u16> for U16Vec4

Source§

impl Mul<u32> for glam::u32::uvec2::UVec2

Source§

impl Mul<u32> for glam::u32::uvec3::UVec3

Source§

impl Mul<u32> for glam::u32::uvec3::UVec3

Source§

impl Mul<u32> for glam::u32::uvec4::UVec4

Source§

impl Mul<u32> for glam::u32::uvec4::UVec4

1.3.0 · Source§

impl Mul<u32> for Duration

Source§

impl Mul<u32> for comfy_core::UVec2

Source§

impl Mul<u64> for glam::u64::u64vec2::U64Vec2

Source§

impl Mul<u64> for glam::u64::u64vec2::U64Vec2

Source§

impl Mul<u64> for glam::u64::u64vec3::U64Vec3

Source§

impl Mul<u64> for glam::u64::u64vec3::U64Vec3

Source§

impl Mul<u64> for glam::u64::u64vec4::U64Vec4

Source§

impl Mul<u64> for glam::u64::u64vec4::U64Vec4

Source§

impl Mul<Rgba> for f32

Source§

impl Mul<Pos2> for &RectTransform

Transforms the position.

Source§

impl Mul<Pos2> for f32

Source§

impl Mul<Pos2> for RectTransform

Transforms the position.

Source§

impl Mul<Rect> for f32

Source§

impl Mul<Rot2> for f32

Scales the rotor.

Source§

impl Mul<Vec2> for f32

Source§

impl Mul<Vec2> for Rot2

Rotates (and maybe scales) the vector.

Source§

impl Mul<Affine2> for glam::f32::mat3::Mat3

Source§

impl Mul<Affine2> for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul<Affine3A> for glam::f32::sse2::mat4::Mat4

Source§

impl Mul<Affine3A> for comfy_core::Mat4

Source§

impl Mul<Mat3> for f32

Source§

impl Mul<Mat3> for glam::f32::affine2::Affine2

Source§

impl Mul<Mat2> for f32

Source§

impl Mul<Mat2> for f32

Source§

impl Mul<Mat3A> for f32

Source§

impl Mul<Mat3A> for f32

Source§

impl Mul<Mat3A> for glam::f32::affine2::Affine2

Source§

impl Mul<Mat3A> for comfy_core::Affine2

Source§

impl Mul<Mat4> for f32

Source§

impl Mul<Mat4> for glam::f32::affine3a::Affine3A

Source§

impl Mul<Vec3A> for f32

Source§

impl Mul<Vec3A> for f32

Source§

impl Mul<Vec3A> for glam::f32::mat3::Mat3

Source§

impl Mul<Vec3A> for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul<Vec3A> for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul<Vec3A> for glam::f32::sse2::quat::Quat

Source§

impl Mul<Vec3A> for glam::f32::sse2::quat::Quat

Source§

impl Mul<Vec3A> for comfy_core::Mat3

Source§

impl Mul<Vec4> for f32

Source§

impl Mul<Vec4> for glam::f32::sse2::mat4::Mat4

Source§

impl Mul<Vec2> for f32

Source§

impl Mul<Vec2> for glam::f32::sse2::mat2::Mat2

Source§

impl Mul<Vec3> for f32

Source§

impl Mul<Vec3> for glam::f32::mat3::Mat3

Source§

impl Mul<Vec3> for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul<Vec3> for glam::f32::sse2::quat::Quat

Source§

impl Mul<DAffine2> for glam::f64::dmat3::DMat3

Source§

impl Mul<DAffine2> for glam::f64::dmat3::DMat3

Source§

impl Mul<DAffine3> for glam::f64::dmat4::DMat4

Source§

impl Mul<DAffine3> for glam::f64::dmat4::DMat4

Source§

impl Mul<DMat2> for f64

Source§

impl Mul<DMat2> for f64

Source§

impl Mul<DMat3> for f64

Source§

impl Mul<DMat3> for f64

Source§

impl Mul<DMat3> for glam::f64::daffine2::DAffine2

Source§

impl Mul<DMat3> for glam::f64::daffine2::DAffine2

Source§

impl Mul<DMat4> for f64

Source§

impl Mul<DMat4> for f64

Source§

impl Mul<DMat4> for glam::f64::daffine3::DAffine3

Source§

impl Mul<DMat4> for glam::f64::daffine3::DAffine3

Source§

impl Mul<DVec2> for f64

Source§

impl Mul<DVec2> for f64

Source§

impl Mul<DVec2> for glam::f64::dmat2::DMat2

Source§

impl Mul<DVec2> for glam::f64::dmat2::DMat2

Source§

impl Mul<DVec3> for f64

Source§

impl Mul<DVec3> for f64

Source§

impl Mul<DVec3> for glam::f64::dmat3::DMat3

Source§

impl Mul<DVec3> for glam::f64::dmat3::DMat3

Source§

impl Mul<DVec3> for glam::f64::dquat::DQuat

Source§

impl Mul<DVec3> for glam::f64::dquat::DQuat

Source§

impl Mul<DVec4> for f64

Source§

impl Mul<DVec4> for f64

Source§

impl Mul<DVec4> for glam::f64::dmat4::DMat4

Source§

impl Mul<DVec4> for glam::f64::dmat4::DMat4

Source§

impl Mul<I16Vec2> for i16

Source§

impl Mul<I16Vec3> for i16

Source§

impl Mul<I16Vec4> for i16

Source§

impl Mul<IVec2> for i32

Source§

impl Mul<IVec3> for i32

Source§

impl Mul<IVec3> for i32

Source§

impl Mul<IVec4> for i32

Source§

impl Mul<IVec4> for i32

Source§

impl Mul<I64Vec2> for i64

Source§

impl Mul<I64Vec2> for i64

Source§

impl Mul<I64Vec3> for i64

Source§

impl Mul<I64Vec3> for i64

Source§

impl Mul<I64Vec4> for i64

Source§

impl Mul<I64Vec4> for i64

Source§

impl Mul<U16Vec2> for u16

Source§

impl Mul<U16Vec3> for u16

Source§

impl Mul<U16Vec4> for u16

Source§

impl Mul<UVec2> for u32

Source§

impl Mul<UVec3> for u32

Source§

impl Mul<UVec3> for u32

Source§

impl Mul<UVec4> for u32

Source§

impl Mul<UVec4> for u32

Source§

impl Mul<U64Vec2> for u64

Source§

impl Mul<U64Vec2> for u64

Source§

impl Mul<U64Vec3> for u64

Source§

impl Mul<U64Vec3> for u64

Source§

impl Mul<U64Vec4> for u64

Source§

impl Mul<U64Vec4> for u64

Source§

impl Mul<bf16> for &bf16

Source§

impl Mul<f16> for &f16

Source§

impl Mul<Affine2> for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul<Affine2> for comfy_core::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

Source§

impl Mul<Mat3> for comfy_core::Affine2

Source§

impl Mul<Mat4> for f32

Source§

impl Mul<Mat4> for glam::f32::affine3a::Affine3A

Source§

impl Mul<UVec2> for u32

Source§

impl Mul<Vec2> for f32

Source§

impl Mul<Vec2> for glam::f32::sse2::mat2::Mat2

Source§

impl Mul<Vec3> for f32

Source§

impl Mul<Vec3> for glam::f32::sse2::mat3a::Mat3A

Source§

impl Mul<Vec3> for glam::f32::sse2::quat::Quat

Source§

impl Mul<Vec3> for comfy_core::Mat3

Source§

impl Mul<Vec4> for f32

Source§

impl Mul<Vec4> for comfy_core::Mat4

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

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>

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>

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 Complex<T>> for &'a comfy_core::Complex<T>
where T: Clone + Num,

Source§

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

Source§

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

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 comfy_core::Complex<T>
where T: Clone + Num,

Source§

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

Source§

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

Source§

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

Source§

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

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,

Source§

type Output = Simd<T, N>

Source§

impl<O> Mul for F32<O>
where O: ByteOrder,

Source§

impl<O> Mul for F64<O>
where O: ByteOrder,

Source§

impl<O> Mul for I16<O>
where O: ByteOrder,

Source§

impl<O> Mul for I32<O>
where O: ByteOrder,

Source§

impl<O> Mul for I64<O>
where O: ByteOrder,

Source§

impl<O> Mul for I128<O>
where O: ByteOrder,

Source§

impl<O> Mul for Isize<O>
where O: ByteOrder,

Source§

impl<O> Mul for U16<O>
where O: ByteOrder,

Source§

impl<O> Mul for U32<O>
where O: ByteOrder,

Source§

impl<O> Mul for U64<O>
where O: ByteOrder,

Source§

impl<O> Mul for U128<O>
where O: ByteOrder,

Source§

impl<O> Mul for Usize<O>
where O: ByteOrder,

Source§

impl<O> Mul<f32> for F32<O>
where O: ByteOrder,

Source§

impl<O> Mul<f64> for F64<O>
where O: ByteOrder,

Source§

impl<O> Mul<i16> for I16<O>
where O: ByteOrder,

Source§

impl<O> Mul<i32> for I32<O>
where O: ByteOrder,

Source§

impl<O> Mul<i64> for I64<O>
where O: ByteOrder,

Source§

impl<O> Mul<i128> for I128<O>
where O: ByteOrder,

Source§

impl<O> Mul<isize> for Isize<O>
where O: ByteOrder,

Source§

impl<O> Mul<u16> for U16<O>
where O: ByteOrder,

Source§

impl<O> Mul<u32> for U32<O>
where O: ByteOrder,

Source§

impl<O> Mul<u64> for U64<O>
where O: ByteOrder,

Source§

impl<O> Mul<u128> for U128<O>
where O: ByteOrder,

Source§

impl<O> Mul<usize> for Usize<O>
where O: ByteOrder,

Source§

impl<O> Mul<F32<O>> for f32
where O: ByteOrder,

Source§

impl<O> Mul<F64<O>> for f64
where O: ByteOrder,

Source§

impl<O> Mul<I16<O>> for i16
where O: ByteOrder,

Source§

impl<O> Mul<I32<O>> for i32
where O: ByteOrder,

Source§

impl<O> Mul<I64<O>> for i64
where O: ByteOrder,

Source§

impl<O> Mul<I128<O>> for i128
where O: ByteOrder,

Source§

impl<O> Mul<Isize<O>> for isize
where O: ByteOrder,

Source§

impl<O> Mul<U16<O>> for u16
where O: ByteOrder,

Source§

impl<O> Mul<U32<O>> for u32
where O: ByteOrder,

Source§

impl<O> Mul<U64<O>> for u64
where O: ByteOrder,

Source§

impl<O> Mul<U128<O>> for u128
where O: ByteOrder,

Source§

impl<O> Mul<Usize<O>> for usize
where O: ByteOrder,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T> Mul<T> for Angle<T>
where T: Mul<Output = 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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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,

Source§

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,

Source§

type Output = Simd<T, N>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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