Trait Div

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

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

The division operator /.

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

§Examples

§Dividable rational numbers

use std::ops::Div;

// 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 Div for Rational {
    // The division of rational numbers is a closed operation.
    type Output = Self;

    fn div(self, rhs: Self) -> Self::Output {
        if rhs.numerator == 0 {
            panic!("Cannot divide by zero-valued `Rational`!");
        }

        let numerator = self.numerator * rhs.denominator;
        let denominator = self.denominator * rhs.numerator;
        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(1, 2) / Rational::new(3, 4),
           Rational::new(2, 3));

§Dividing vectors by scalars as in linear algebra

use std::ops::Div;

struct Scalar { value: f32 }

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

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

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

let scalar = Scalar { value: 2f32 };
let vector = Vector { value: vec![2f32, 4f32, 6f32] };
assert_eq!(vector / scalar, Vector { value: vec![1f32, 2f32, 3f32] });

Required Associated Types§

1.0.0 · Source

type Output

The resulting type after applying the / operator.

Required Methods§

1.0.0 · Source

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

Performs the / operation.

§Example
assert_eq!(12 / 2, 6);

Implementors§

1.0.0 (const: unstable) · Source§

impl Div for f16

1.0.0 (const: unstable) · Source§

impl Div for f32

1.0.0 (const: unstable) · Source§

impl Div for f64

1.0.0 (const: unstable) · Source§

impl Div for f128

1.0.0 (const: unstable) · Source§

impl Div for i8

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0 or the division results in overflow.

1.0.0 (const: unstable) · Source§

impl Div for i16

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0 or the division results in overflow.

1.0.0 (const: unstable) · Source§

impl Div for i32

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0 or the division results in overflow.

1.0.0 (const: unstable) · Source§

impl Div for i64

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0 or the division results in overflow.

1.0.0 (const: unstable) · Source§

impl Div for i128

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0 or the division results in overflow.

1.0.0 (const: unstable) · Source§

impl Div for isize

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0 or the division results in overflow.

1.0.0 (const: unstable) · Source§

impl Div for u8

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0.

1.0.0 (const: unstable) · Source§

impl Div for u16

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0.

1.0.0 (const: unstable) · Source§

impl Div for u32

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0.

1.0.0 (const: unstable) · Source§

impl Div for u64

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0.

1.0.0 (const: unstable) · Source§

impl Div for u128

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0.

1.0.0 (const: unstable) · Source§

impl Div for usize

This operation rounds towards zero, truncating any fractional part of the exact result.

§Panics

This operation will panic if other == 0.

1.74.0 · Source§

impl Div for Saturating<i8>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2i8), Saturating(5i8) / Saturating(2));
assert_eq!(Saturating(i8::MAX), Saturating(i8::MAX) / Saturating(1));
assert_eq!(Saturating(i8::MIN), Saturating(i8::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0i8) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<i16>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2i16), Saturating(5i16) / Saturating(2));
assert_eq!(Saturating(i16::MAX), Saturating(i16::MAX) / Saturating(1));
assert_eq!(Saturating(i16::MIN), Saturating(i16::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0i16) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<i32>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2i32), Saturating(5i32) / Saturating(2));
assert_eq!(Saturating(i32::MAX), Saturating(i32::MAX) / Saturating(1));
assert_eq!(Saturating(i32::MIN), Saturating(i32::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0i32) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<i64>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2i64), Saturating(5i64) / Saturating(2));
assert_eq!(Saturating(i64::MAX), Saturating(i64::MAX) / Saturating(1));
assert_eq!(Saturating(i64::MIN), Saturating(i64::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0i64) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<i128>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2i128), Saturating(5i128) / Saturating(2));
assert_eq!(Saturating(i128::MAX), Saturating(i128::MAX) / Saturating(1));
assert_eq!(Saturating(i128::MIN), Saturating(i128::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0i128) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<isize>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2isize), Saturating(5isize) / Saturating(2));
assert_eq!(Saturating(isize::MAX), Saturating(isize::MAX) / Saturating(1));
assert_eq!(Saturating(isize::MIN), Saturating(isize::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0isize) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<u8>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2u8), Saturating(5u8) / Saturating(2));
assert_eq!(Saturating(u8::MAX), Saturating(u8::MAX) / Saturating(1));
assert_eq!(Saturating(u8::MIN), Saturating(u8::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0u8) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<u16>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2u16), Saturating(5u16) / Saturating(2));
assert_eq!(Saturating(u16::MAX), Saturating(u16::MAX) / Saturating(1));
assert_eq!(Saturating(u16::MIN), Saturating(u16::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0u16) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<u32>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2u32), Saturating(5u32) / Saturating(2));
assert_eq!(Saturating(u32::MAX), Saturating(u32::MAX) / Saturating(1));
assert_eq!(Saturating(u32::MIN), Saturating(u32::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0u32) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<u64>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2u64), Saturating(5u64) / Saturating(2));
assert_eq!(Saturating(u64::MAX), Saturating(u64::MAX) / Saturating(1));
assert_eq!(Saturating(u64::MIN), Saturating(u64::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0u64) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<u128>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2u128), Saturating(5u128) / Saturating(2));
assert_eq!(Saturating(u128::MAX), Saturating(u128::MAX) / Saturating(1));
assert_eq!(Saturating(u128::MIN), Saturating(u128::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0u128) / Saturating(0);
1.74.0 · Source§

impl Div for Saturating<usize>

§Examples

use std::num::Saturating;

assert_eq!(Saturating(2usize), Saturating(5usize) / Saturating(2));
assert_eq!(Saturating(usize::MAX), Saturating(usize::MAX) / Saturating(1));
assert_eq!(Saturating(usize::MIN), Saturating(usize::MIN) / Saturating(1));
use std::num::Saturating;

let _ = Saturating(0usize) / Saturating(0);
1.3.0 · Source§

impl Div for Wrapping<i8>

1.3.0 · Source§

impl Div for Wrapping<i16>

1.3.0 · Source§

impl Div for Wrapping<i32>

1.3.0 · Source§

impl Div for Wrapping<i64>

1.3.0 · Source§

impl Div for Wrapping<i128>

1.3.0 · Source§

impl Div for Wrapping<isize>

1.3.0 · Source§

impl Div for Wrapping<u8>

1.3.0 · Source§

impl Div for Wrapping<u16>

1.3.0 · Source§

impl Div for Wrapping<u32>

1.3.0 · Source§

impl Div for Wrapping<u64>

1.3.0 · Source§

impl Div for Wrapping<u128>

1.3.0 · Source§

impl Div for Wrapping<usize>

1.0.0 · Source§

impl Div<&f16> for &f16

1.0.0 · Source§

impl Div<&f16> for f16

1.0.0 · Source§

impl Div<&f32> for &f32

1.0.0 · Source§

impl Div<&f32> for f32

1.0.0 · Source§

impl Div<&f64> for &f64

1.0.0 · Source§

impl Div<&f64> for f64

1.0.0 · Source§

impl Div<&f128> for &f128

1.0.0 · Source§

impl Div<&f128> for f128

1.0.0 · Source§

impl Div<&i8> for &i8

1.0.0 · Source§

impl Div<&i8> for i8

1.0.0 · Source§

impl Div<&i16> for &i16

1.0.0 · Source§

impl Div<&i16> for i16

1.0.0 · Source§

impl Div<&i32> for &i32

1.0.0 · Source§

impl Div<&i32> for i32

1.0.0 · Source§

impl Div<&i64> for &i64

1.0.0 · Source§

impl Div<&i64> for i64

1.0.0 · Source§

impl Div<&i128> for &i128

1.0.0 · Source§

impl Div<&i128> for i128

1.0.0 · Source§

impl Div<&isize> for &isize

1.0.0 · Source§

impl Div<&isize> for isize

1.0.0 · Source§

impl Div<&u8> for &u8

1.0.0 · Source§

impl Div<&u8> for u8

1.0.0 · Source§

impl Div<&u16> for &u16

1.0.0 · Source§

impl Div<&u16> for u16

1.0.0 · Source§

impl Div<&u32> for &u32

1.0.0 · Source§

impl Div<&u32> for u32

1.0.0 · Source§

impl Div<&u64> for &u64

1.0.0 · Source§

impl Div<&u64> for u64

1.0.0 · Source§

impl Div<&u128> for &u128

1.0.0 · Source§

impl Div<&u128> for u128

1.0.0 · Source§

impl Div<&usize> for &usize

1.0.0 · Source§

impl Div<&usize> for usize

1.74.0 · Source§

impl Div<&Saturating<i8>> for &Saturating<i8>

1.74.0 · Source§

impl Div<&Saturating<i8>> for Saturating<i8>

1.74.0 · Source§

impl Div<&Saturating<i16>> for &Saturating<i16>

1.74.0 · Source§

impl Div<&Saturating<i16>> for Saturating<i16>

1.74.0 · Source§

impl Div<&Saturating<i32>> for &Saturating<i32>

1.74.0 · Source§

impl Div<&Saturating<i32>> for Saturating<i32>

1.74.0 · Source§

impl Div<&Saturating<i64>> for &Saturating<i64>

1.74.0 · Source§

impl Div<&Saturating<i64>> for Saturating<i64>

1.74.0 · Source§

impl Div<&Saturating<i128>> for &Saturating<i128>

1.74.0 · Source§

impl Div<&Saturating<i128>> for Saturating<i128>

1.74.0 · Source§

impl Div<&Saturating<isize>> for &Saturating<isize>

1.74.0 · Source§

impl Div<&Saturating<isize>> for Saturating<isize>

1.74.0 · Source§

impl Div<&Saturating<u8>> for &Saturating<u8>

1.74.0 · Source§

impl Div<&Saturating<u8>> for Saturating<u8>

1.74.0 · Source§

impl Div<&Saturating<u16>> for &Saturating<u16>

1.74.0 · Source§

impl Div<&Saturating<u16>> for Saturating<u16>

1.74.0 · Source§

impl Div<&Saturating<u32>> for &Saturating<u32>

1.74.0 · Source§

impl Div<&Saturating<u32>> for Saturating<u32>

1.74.0 · Source§

impl Div<&Saturating<u64>> for &Saturating<u64>

1.74.0 · Source§

impl Div<&Saturating<u64>> for Saturating<u64>

1.74.0 · Source§

impl Div<&Saturating<u128>> for &Saturating<u128>

1.74.0 · Source§

impl Div<&Saturating<u128>> for Saturating<u128>

1.74.0 · Source§

impl Div<&Saturating<usize>> for &Saturating<usize>

1.74.0 · Source§

impl Div<&Saturating<usize>> for Saturating<usize>

1.14.0 · Source§

impl Div<&Wrapping<i8>> for &Wrapping<i8>

1.14.0 · Source§

impl Div<&Wrapping<i8>> for Wrapping<i8>

1.14.0 · Source§

impl Div<&Wrapping<i16>> for &Wrapping<i16>

1.14.0 · Source§

impl Div<&Wrapping<i16>> for Wrapping<i16>

1.14.0 · Source§

impl Div<&Wrapping<i32>> for &Wrapping<i32>

1.14.0 · Source§

impl Div<&Wrapping<i32>> for Wrapping<i32>

1.14.0 · Source§

impl Div<&Wrapping<i64>> for &Wrapping<i64>

1.14.0 · Source§

impl Div<&Wrapping<i64>> for Wrapping<i64>

1.14.0 · Source§

impl Div<&Wrapping<i128>> for &Wrapping<i128>

1.14.0 · Source§

impl Div<&Wrapping<i128>> for Wrapping<i128>

1.14.0 · Source§

impl Div<&Wrapping<isize>> for &Wrapping<isize>

1.14.0 · Source§

impl Div<&Wrapping<isize>> for Wrapping<isize>

1.14.0 · Source§

impl Div<&Wrapping<u8>> for &Wrapping<u8>

1.14.0 · Source§

impl Div<&Wrapping<u8>> for Wrapping<u8>

1.14.0 · Source§

impl Div<&Wrapping<u16>> for &Wrapping<u16>

1.14.0 · Source§

impl Div<&Wrapping<u16>> for Wrapping<u16>

1.14.0 · Source§

impl Div<&Wrapping<u32>> for &Wrapping<u32>

1.14.0 · Source§

impl Div<&Wrapping<u32>> for Wrapping<u32>

1.14.0 · Source§

impl Div<&Wrapping<u64>> for &Wrapping<u64>

1.14.0 · Source§

impl Div<&Wrapping<u64>> for Wrapping<u64>

1.14.0 · Source§

impl Div<&Wrapping<u128>> for &Wrapping<u128>

1.14.0 · Source§

impl Div<&Wrapping<u128>> for Wrapping<u128>

1.14.0 · Source§

impl Div<&Wrapping<usize>> for &Wrapping<usize>

1.14.0 · Source§

impl Div<&Wrapping<usize>> for Wrapping<usize>

1.3.0 · Source§

impl Div<u32> for Duration

1.51.0 · Source§

impl Div<NonZero<u8>> for u8

1.51.0 · Source§

impl Div<NonZero<u16>> for u16

1.51.0 · Source§

impl Div<NonZero<u32>> for u32

1.51.0 · Source§

impl Div<NonZero<u64>> for u64

1.51.0 · Source§

impl Div<NonZero<u128>> for u128

1.51.0 · Source§

impl Div<NonZero<usize>> for usize

Source§

impl Div<Complex<f32>> for f32

Source§

impl Div<Complex<f64>> for f64

Source§

impl Div<Complex<i8>> for i8

Source§

impl Div<Complex<i16>> for i16

Source§

impl Div<Complex<i32>> for i32

Source§

impl Div<Complex<i64>> for i64

Source§

impl Div<Complex<i128>> for i128

Source§

impl Div<Complex<isize>> for isize

Source§

impl Div<Complex<u8>> for u8

Source§

impl Div<Complex<u16>> for u16

Source§

impl Div<Complex<u32>> for u32

Source§

impl Div<Complex<u64>> for u64

Source§

impl Div<Complex<u128>> for u128

Source§

impl Div<Complex<usize>> for usize

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

1.14.0 · Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'a, A, B, S, S2, D, E> Div<&'a ArrayBase<S2, E>> for &'a ArrayBase<S, D>
where A: Clone + Div<B, Output = A>, B: Clone, S: Data<Elem = A>, S2: Data<Elem = B>, D: Dimension + DimMax<E>, E: Dimension,

Perform elementwise division between references self and rhs, and return the result as a new Array.

If their shapes disagree, self and rhs is broadcast to their broadcast shape, cloning the data if needed.

Panics if broadcasting isn’t possible.

Source§

impl<'a, A, B, S, S2, D, E> Div<&'a ArrayBase<S2, E>> for ArrayBase<S, D>
where A: Clone + Div<B, Output = A>, B: Clone, S: DataOwned<Elem = A> + DataMut, S2: Data<Elem = B>, D: Dimension + DimMax<E>, E: Dimension,

Perform elementwise division between self and reference rhs, and return the result.

rhs must be an Array or ArcArray.

If their shapes disagree, self is broadcast to their broadcast shape, cloning the data if needed.

Panics if broadcasting isn’t possible.

Source§

type Output = ArrayBase<S, <D as DimMax<E>>::Output>

Source§

impl<'a, A, B, S, S2, D, E> Div<ArrayBase<S2, E>> for &'a ArrayBase<S, D>
where A: Clone + Div<B, Output = B>, B: Clone, S: Data<Elem = A>, S2: DataOwned<Elem = B> + DataMut, D: Dimension, E: Dimension + DimMax<D>,

Perform elementwise division between reference self and rhs, and return the result.

rhs must be an Array or ArcArray.

If their shapes disagree, self is broadcast to their broadcast shape, cloning the data if needed.

Panics if broadcasting isn’t possible.

Source§

type Output = ArrayBase<S2, <E as DimMax<D>>::Output>

Source§

impl<'a, A, S, D, B> Div<B> for &'a ArrayBase<S, D>
where A: Clone + Div<B, Output = A>, S: Data<Elem = A>, D: Dimension, B: ScalarOperand,

Perform elementwise division between the reference self and the scalar x, and return the result as a new Array.

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for f32
where S: Data<Elem = f32>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for f64
where S: Data<Elem = f64>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for i8
where S: Data<Elem = i8>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for i16
where S: Data<Elem = i16>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for i32
where S: Data<Elem = i32>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for i64
where S: Data<Elem = i64>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for i128
where S: Data<Elem = i128>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for isize
where S: Data<Elem = isize>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for u8
where S: Data<Elem = u8>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for u16
where S: Data<Elem = u16>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for u32
where S: Data<Elem = u32>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for u64
where S: Data<Elem = u64>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for u128
where S: Data<Elem = u128>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for usize
where S: Data<Elem = usize>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for Complex<f32>
where S: Data<Elem = Complex<f32>>, D: Dimension,

Source§

impl<'a, S, D> Div<&'a ArrayBase<S, D>> for Complex<f64>
where S: Data<Elem = Complex<f64>>, D: Dimension,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

type Output = Simd<T, N>

Source§

impl<A, B, S, S2, D, E> Div<ArrayBase<S2, E>> for ArrayBase<S, D>
where A: Clone + Div<B, Output = A>, B: Clone, S: DataOwned<Elem = A> + DataMut, S2: Data<Elem = B>, D: Dimension + DimMax<E>, E: Dimension,

Perform elementwise division between self and rhs, and return the result.

self must be an Array or ArcArray.

If their shapes disagree, self is broadcast to their broadcast shape.

Panics if broadcasting isn’t possible.

Source§

type Output = ArrayBase<S, <D as DimMax<E>>::Output>

Source§

impl<A, S, D, B> Div<B> for ArrayBase<S, D>
where A: Clone + Div<B, Output = A>, S: DataOwned<Elem = A> + DataMut, D: Dimension, B: ScalarOperand,

Perform elementwise division between self and the scalar x, and return the result (based on self).

self must be an Array or ArcArray.

Source§

impl<E, const LEN: usize> Div<E> for Vector<E, LEN>
where E: MatEl + NdFloat,

Source§

type Output = Vector<E, LEN>

Source§

impl<E, const ROWS: usize, const COLS: usize, Descriptor> Div<E> for Mat<ROWS, COLS, E, Descriptor>
where Descriptor: Descriptor, E: MatEl + NdFloat, Self: Indexable<Index = Ix2> + ScalarMut<Scalar = E>,

Source§

type Output = Mat<ROWS, COLS, E, Descriptor>

Source§

impl<S, D> Div<ArrayBase<S, D>> for f32
where S: DataOwned<Elem = f32> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for f64
where S: DataOwned<Elem = f64> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for i8
where S: DataOwned<Elem = i8> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for i16
where S: DataOwned<Elem = i16> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for i32
where S: DataOwned<Elem = i32> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for i64
where S: DataOwned<Elem = i64> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for i128
where S: DataOwned<Elem = i128> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for isize
where S: DataOwned<Elem = isize> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for u8
where S: DataOwned<Elem = u8> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for u16
where S: DataOwned<Elem = u16> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for u32
where S: DataOwned<Elem = u32> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for u64
where S: DataOwned<Elem = u64> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for u128
where S: DataOwned<Elem = u128> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for usize
where S: DataOwned<Elem = usize> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for Complex<f32>
where S: DataOwned<Elem = Complex<f32>> + DataMut, D: Dimension,

Source§

impl<S, D> Div<ArrayBase<S, D>> for Complex<f64>
where S: DataOwned<Elem = Complex<f64>> + DataMut, D: Dimension,

Source§

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

Source§

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

Source§

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

Source§

type Output = Simd<T, N>

Source§

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

Source§

type Output = Simd<T, N>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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