Skip to main content

Mul

Trait Mul 

1.0.0 (const: unstable) · Source
pub trait Mul<Rhs = Self> {
    type Output;

    // Required method
    fn mul(self, rhs: Rhs) -> Self::Output;
}
Available on crate features crypto and std only.
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 (const: unstable) · Source

type Output

The resulting type after applying the * operator.

Required Methods§

1.0.0 (const: unstable) · Source

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

Performs the * operation.

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

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl Mul for BigInt

Source§

impl Mul for BigUint

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Mul for Saturating<usize>

Source§

impl Mul for Sign

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<i8>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<i16>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<i32>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<i64>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<i128>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<isize>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<u8>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<u16>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<u32>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<u64>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<u128>

1.0.0 (const: unstable) · Source§

impl Mul for Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Mul for f16

1.0.0 (const: unstable) · Source§

impl Mul for f32

1.0.0 (const: unstable) · Source§

impl Mul for f64

1.0.0 (const: unstable) · Source§

impl Mul for f128

1.0.0 (const: unstable) · Source§

impl Mul for i8

1.0.0 (const: unstable) · Source§

impl Mul for i16

1.0.0 (const: unstable) · Source§

impl Mul for i32

1.0.0 (const: unstable) · Source§

impl Mul for i64

1.0.0 (const: unstable) · Source§

impl Mul for i128

1.0.0 (const: unstable) · Source§

impl Mul for isize

1.0.0 (const: unstable) · Source§

impl Mul for u8

1.0.0 (const: unstable) · Source§

impl Mul for u16

1.0.0 (const: unstable) · Source§

impl Mul for u32

1.0.0 (const: unstable) · Source§

impl Mul for u64

1.0.0 (const: unstable) · Source§

impl Mul for u128

1.0.0 (const: unstable) · Source§

impl Mul for usize

Source§

impl Mul<&BigInt> for &BigInt

Source§

impl Mul<&BigInt> for &i8

Source§

impl Mul<&BigInt> for &i16

Source§

impl Mul<&BigInt> for &i32

Source§

impl Mul<&BigInt> for &i64

Source§

impl Mul<&BigInt> for &i128

Source§

impl Mul<&BigInt> for &isize

Source§

impl Mul<&BigInt> for &u8

Source§

impl Mul<&BigInt> for &u16

Source§

impl Mul<&BigInt> for &u32

Source§

impl Mul<&BigInt> for &u64

Source§

impl Mul<&BigInt> for &u128

Source§

impl Mul<&BigInt> for &usize

Source§

impl Mul<&BigInt> for BigInt

Source§

impl Mul<&BigInt> for i8

Source§

impl Mul<&BigInt> for i16

Source§

impl Mul<&BigInt> for i32

Source§

impl Mul<&BigInt> for i64

Source§

impl Mul<&BigInt> for i128

Source§

impl Mul<&BigInt> for isize

Source§

impl Mul<&BigInt> for u8

Source§

impl Mul<&BigInt> for u16

Source§

impl Mul<&BigInt> for u32

Source§

impl Mul<&BigInt> for u64

Source§

impl Mul<&BigInt> for u128

Source§

impl Mul<&BigInt> for usize

§

impl Mul<&BigNumRef> for &BigNumRef

Source§

impl Mul<&BigUint> for &BigUint

Source§

impl Mul<&BigUint> for &u8

Source§

impl Mul<&BigUint> for &u16

Source§

impl Mul<&BigUint> for &u32

Source§

impl Mul<&BigUint> for &u64

Source§

impl Mul<&BigUint> for &u128

Source§

impl Mul<&BigUint> for &usize

Source§

impl Mul<&BigUint> for BigUint

Source§

impl Mul<&BigUint> for u8

Source§

impl Mul<&BigUint> for u16

Source§

impl Mul<&BigUint> for u32

Source§

impl Mul<&BigUint> for u64

Source§

impl Mul<&BigUint> for u128

Source§

impl Mul<&BigUint> for usize

§

impl Mul<&Rgb> for &f32

§

type Output = Rgb

§

impl Mul<&Rgb> for f32

§

type Output = Rgb

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

impl Mul<&f16> for &f16

1.0.0 (const: unstable) · Source§

impl Mul<&f16> for f16

§

impl Mul<&f32> for &Rgb

§

type Output = Rgb

1.0.0 (const: unstable) · Source§

impl Mul<&f32> for &f32

§

impl Mul<&f32> for Rgb

§

type Output = Rgb

1.0.0 (const: unstable) · Source§

impl Mul<&f32> for f32

1.0.0 (const: unstable) · Source§

impl Mul<&f64> for &f64

1.0.0 (const: unstable) · Source§

impl Mul<&f64> for f64

1.0.0 (const: unstable) · Source§

impl Mul<&f128> for &f128

1.0.0 (const: unstable) · Source§

impl Mul<&f128> for f128

Source§

impl Mul<&i8> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i8> for &i8

Source§

impl Mul<&i8> for BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i8> for i8

Source§

impl Mul<&i16> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i16> for &i16

Source§

impl Mul<&i16> for BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i16> for i16

Source§

impl Mul<&i32> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i32> for &i32

Source§

impl Mul<&i32> for BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i32> for i32

Source§

impl Mul<&i64> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i64> for &i64

Source§

impl Mul<&i64> for BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i64> for i64

Source§

impl Mul<&i128> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i128> for &i128

Source§

impl Mul<&i128> for BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&i128> for i128

Source§

impl Mul<&isize> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&isize> for &isize

Source§

impl Mul<&isize> for BigInt

1.0.0 (const: unstable) · Source§

impl Mul<&isize> for isize

Source§

impl Mul<&u8> for &BigInt

Source§

impl Mul<&u8> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u8> for &u8

Source§

impl Mul<&u8> for BigInt

Source§

impl Mul<&u8> for BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u8> for u8

Source§

impl Mul<&u16> for &BigInt

Source§

impl Mul<&u16> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u16> for &u16

Source§

impl Mul<&u16> for BigInt

Source§

impl Mul<&u16> for BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u16> for u16

Source§

impl Mul<&u32> for &BigInt

Source§

impl Mul<&u32> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u32> for &u32

Source§

impl Mul<&u32> for BigInt

Source§

impl Mul<&u32> for BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u32> for u32

Source§

impl Mul<&u64> for &BigInt

Source§

impl Mul<&u64> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u64> for &u64

Source§

impl Mul<&u64> for BigInt

Source§

impl Mul<&u64> for BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u64> for u64

Source§

impl Mul<&u128> for &BigInt

Source§

impl Mul<&u128> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u128> for &u128

Source§

impl Mul<&u128> for BigInt

Source§

impl Mul<&u128> for BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&u128> for u128

Source§

impl Mul<&usize> for &BigInt

Source§

impl Mul<&usize> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&usize> for &usize

Source§

impl Mul<&usize> for BigInt

Source§

impl Mul<&usize> for BigUint

1.0.0 (const: unstable) · Source§

impl Mul<&usize> for usize

Source§

impl Mul<ATerm> for Z0

Source§

impl Mul<B0> for UTerm

UTerm * B0 = UTerm

Source§

impl Mul<B1> for UTerm

UTerm * B1 = UTerm

Source§

impl Mul<BigInt> for &BigInt

Source§

impl Mul<BigInt> for &i8

Source§

impl Mul<BigInt> for &i16

Source§

impl Mul<BigInt> for &i32

Source§

impl Mul<BigInt> for &i64

Source§

impl Mul<BigInt> for &i128

Source§

impl Mul<BigInt> for &isize

Source§

impl Mul<BigInt> for &u8

Source§

impl Mul<BigInt> for &u16

Source§

impl Mul<BigInt> for &u32

Source§

impl Mul<BigInt> for &u64

Source§

impl Mul<BigInt> for &u128

Source§

impl Mul<BigInt> for &usize

Source§

impl Mul<BigInt> for i8

Source§

impl Mul<BigInt> for i16

Source§

impl Mul<BigInt> for i32

Source§

impl Mul<BigInt> for i64

Source§

impl Mul<BigInt> for i128

Source§

impl Mul<BigInt> for isize

Source§

impl Mul<BigInt> for u8

Source§

impl Mul<BigInt> for u16

Source§

impl Mul<BigInt> for u32

Source§

impl Mul<BigInt> for u64

Source§

impl Mul<BigInt> for u128

Source§

impl Mul<BigInt> for usize

Source§

impl Mul<BigUint> for &BigUint

Source§

impl Mul<BigUint> for &u8

Source§

impl Mul<BigUint> for &u16

Source§

impl Mul<BigUint> for &u32

Source§

impl Mul<BigUint> for &u64

Source§

impl Mul<BigUint> for &u128

Source§

impl Mul<BigUint> for &usize

Source§

impl Mul<BigUint> for u8

Source§

impl Mul<BigUint> for u16

Source§

impl Mul<BigUint> for u32

Source§

impl Mul<BigUint> for u64

Source§

impl Mul<BigUint> for u128

Source§

impl Mul<BigUint> for usize

§

impl Mul<Duration> for f32

§

type Output = Duration

§

impl Mul<Duration> for f64

§

type Output = Duration

§

impl Mul<Duration> for i8

§

type Output = Duration

§

impl Mul<Duration> for i16

§

type Output = Duration

§

impl Mul<Duration> for i32

§

type Output = Duration

§

impl Mul<Duration> for u8

§

type Output = Duration

§

impl Mul<Duration> for u16

§

type Output = Duration

1.31.0 (const: unstable) · Source§

impl Mul<Duration> for u32

§

impl Mul<Duration> for u32

§

type Output = Duration

§

impl Mul<Rgb> for &f32

§

type Output = Rgb

§

impl Mul<Rgb> for f32

§

type Output = Rgb

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

§

impl Mul<Sign> for i8

§

type Output = i8

§

impl Mul<Sign> for i16

§

type Output = i16

§

impl Mul<Sign> for i32

§

type Output = i32

§

impl Mul<Sign> for i64

§

type Output = i64

§

impl Mul<Sign> for i128

§

type Output = i128

§

impl Mul<SignedDuration> for i32

§

type Output = SignedDuration

§

impl Mul<Span> for i64

This multiplies each unit in a span by an integer.

This panics on overflow. For checked arithmetic, use [Span::checked_mul].

§

type Output = Span

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

impl Mul<f16> for &f16

§

impl Mul<f32> for &Rgb

§

type Output = Rgb

1.0.0 (const: unstable) · Source§

impl Mul<f32> for &f32

§

impl Mul<f32> for Duration

§

type Output = Duration

§

impl Mul<f32> for Rgb

§

type Output = Rgb

1.0.0 (const: unstable) · Source§

impl Mul<f64> for &f64

§

impl Mul<f64> for Duration

§

type Output = Duration

1.0.0 (const: unstable) · Source§

impl Mul<f128> for &f128

Source§

impl Mul<i8> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<i8> for &i8

Source§

impl Mul<i8> for BigInt

§

impl Mul<i8> for Duration

§

type Output = Duration

Source§

impl Mul<i16> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<i16> for &i16

Source§

impl Mul<i16> for BigInt

§

impl Mul<i16> for Duration

§

type Output = Duration

Source§

impl Mul<i32> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<i32> for &i32

Source§

impl Mul<i32> for BigInt

§

impl Mul<i32> for Duration

§

type Output = Duration

§

impl Mul<i32> for SignedDuration

§

type Output = SignedDuration

Source§

impl Mul<i64> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<i64> for &i64

Source§

impl Mul<i64> for BigInt

§

impl Mul<i64> for Span

This multiplies each unit in a span by an integer.

This panics on overflow. For checked arithmetic, use [Span::checked_mul].

§

type Output = Span

Source§

impl Mul<i128> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<i128> for &i128

Source§

impl Mul<i128> for BigInt

Source§

impl Mul<isize> for &BigInt

1.0.0 (const: unstable) · Source§

impl Mul<isize> for &isize

Source§

impl Mul<isize> for BigInt

Source§

impl Mul<u8> for &BigInt

Source§

impl Mul<u8> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<u8> for &u8

Source§

impl Mul<u8> for BigInt

Source§

impl Mul<u8> for BigUint

§

impl Mul<u8> for Duration

§

type Output = Duration

Source§

impl Mul<u16> for &BigInt

Source§

impl Mul<u16> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<u16> for &u16

Source§

impl Mul<u16> for BigInt

Source§

impl Mul<u16> for BigUint

§

impl Mul<u16> for Duration

§

type Output = Duration

Source§

impl Mul<u32> for &BigInt

Source§

impl Mul<u32> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<u32> for &u32

Source§

impl Mul<u32> for BigInt

Source§

impl Mul<u32> for BigUint

1.3.0 (const: unstable) · Source§

impl Mul<u32> for core::time::Duration

§

impl Mul<u32> for Duration

§

type Output = Duration

Source§

impl Mul<u64> for &BigInt

Source§

impl Mul<u64> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<u64> for &u64

Source§

impl Mul<u64> for BigInt

Source§

impl Mul<u64> for BigUint

Source§

impl Mul<u128> for &BigInt

Source§

impl Mul<u128> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<u128> for &u128

Source§

impl Mul<u128> for BigInt

Source§

impl Mul<u128> for BigUint

Source§

impl Mul<usize> for &BigInt

Source§

impl Mul<usize> for &BigUint

1.0.0 (const: unstable) · Source§

impl Mul<usize> for &usize

Source§

impl Mul<usize> for BigInt

Source§

impl Mul<usize> for BigUint

§

impl Mul<usize> for LengthHint

§

type Output = LengthHint

§

impl<'a, 'b> Mul<&'b BigNum> for &'a BigNum

§

impl<'a, 'b> Mul<&'b BigNum> for &'a BigNumRef

§

impl<'a, 'b> Mul<&'b BigNumRef> for &'a BigNum

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>>,

Source§

type Output = Simd<T, N>

Source§

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

Z0 * I = Z0

§

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

§

type Output = F32<O>

§

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

§

type Output = F64<O>

§

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

§

type Output = I16<O>

§

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

§

type Output = I32<O>

§

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

§

type Output = I64<O>

§

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

§

type Output = I128<O>

§

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

§

type Output = Isize<O>

§

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

§

type Output = U16<O>

§

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

§

type Output = U32<O>

§

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

§

type Output = U64<O>

§

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

§

type Output = U128<O>

§

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

§

type Output = Usize<O>

§

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

§

type Output = F32<O>

§

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

§

type Output = F64<O>

§

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

§

type Output = I16<O>

§

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

§

type Output = I32<O>

§

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

§

type Output = I64<O>

§

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

§

type Output = I128<O>

§

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

§

type Output = Isize<O>

§

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

§

type Output = U16<O>

§

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

§

type Output = U32<O>

§

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

§

type Output = U64<O>

§

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

§

type Output = U128<O>

§

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

§

type Output = Usize<O>

§

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

§

type Output = F32<O>

§

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

§

type Output = F64<O>

§

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

§

type Output = I16<O>

§

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

§

type Output = I32<O>

§

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

§

type Output = I64<O>

§

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

§

type Output = I128<O>

§

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

§

type Output = Isize<O>

§

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

§

type Output = U16<O>

§

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

§

type Output = U32<O>

§

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

§

type Output = U64<O>

§

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

§

type Output = U128<O>

§

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

§

type Output = Usize<O>

Source§

impl<Rhs> Mul<Rhs> for ATerm

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>>,

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>>,

Source§

type Output = Simd<T, N>

Source§

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

UInt * B0 = UTerm

Source§

impl<U, B> Mul<B1> for UInt<U, B>
where U: Unsigned, B: Bit,

UInt * B1 = UInt

Source§

type Output = UInt<U, B>

Source§

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

UInt<U, B> * UTerm = UTerm

Source§

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

Source§

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

Source§

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

UTerm * U = UTerm

Source§

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

N * Z0 = Z0

Source§

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

P * Z0 = Z0

Source§

impl<Ul, B, Ur> Mul<UInt<Ur, B>> for UInt<Ul, B0>
where Ul: Unsigned + Mul<UInt<Ur, B>>, B: Bit, Ur: Unsigned,

UInt<Ul, B0> * UInt<Ur, B> = UInt<(Ul * UInt<Ur, B>), B0>

Source§

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

Source§

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

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

Source§

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

Source§

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

N(Ul) * N(Ur) = P(Ul * Ur)

Source§

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

Source§

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

P(Ul) * N(Ur) = N(Ul * Ur)

Source§

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

Source§

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

N(Ul) * P(Ur) = N(Ul * Ur)

Source§

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

Source§

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

P(Ul) * P(Ur) = P(Ul * Ur)

Source§

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

Source§

impl<V, A, Rhs> Mul<Rhs> for TArr<V, A>
where V: Mul<Rhs>, A: Mul<Rhs>, Rhs: Copy,

Source§

type Output = TArr<<V as Mul<Rhs>>::Output, <A as Mul<Rhs>>::Output>

Source§

impl<V, A, U> Mul<TArr<V, A>> for NInt<U>
where U: Unsigned + NonZero, NInt<U>: Mul<A> + Mul<V>,

Source§

type Output = TArr<<NInt<U> as Mul<V>>::Output, <NInt<U> as Mul<A>>::Output>

Source§

impl<V, A, U> Mul<TArr<V, A>> for PInt<U>
where U: Unsigned + NonZero, PInt<U>: Mul<A> + Mul<V>,

Source§

type Output = TArr<<PInt<U> as Mul<V>>::Output, <PInt<U> as Mul<A>>::Output>

Source§

impl<V, A> Mul<TArr<V, A>> for Z0
where Z0: Mul<A>,

Source§

type Output = TArr<Z0, <Z0 as Mul<A>>::Output>

Source§

impl<const N: usize> Mul for Simd<f16, 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>
where i8: SimdElement,

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>
where u8: SimdElement,

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>