Skip to main content

Div

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 (const: unstable) · Source

type Output

The resulting type after applying the / operator.

Required Methods§

1.0.0 (const: unstable) · Source

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

Performs the / operation.

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

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl Div for BigInt

Source§

impl Div for BigUint

Source§

impl Div for Fe32

Source§

impl Div for Limb

1.74.0 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · 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 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<i8>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<i16>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<i32>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<i64>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<i128>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<isize>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<u8>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<u16>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<u32>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<u64>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<u128>

1.3.0 (const: unstable) · Source§

impl Div for core::num::wrapping::Wrapping<usize>

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.

Source§

impl Div<&BigInt> for &BigInt

Source§

impl Div<&BigInt> for &i8

Source§

impl Div<&BigInt> for &i16

Source§

impl Div<&BigInt> for &i32

Source§

impl Div<&BigInt> for &i64

Source§

impl Div<&BigInt> for &i128

Source§

impl Div<&BigInt> for &isize

Source§

impl Div<&BigInt> for &u8

Source§

impl Div<&BigInt> for &u16

Source§

impl Div<&BigInt> for &u32

Source§

impl Div<&BigInt> for &u64

Source§

impl Div<&BigInt> for &u128

Source§

impl Div<&BigInt> for &usize

Source§

impl Div<&BigInt> for BigInt

Source§

impl Div<&BigInt> for i8

Source§

impl Div<&BigInt> for i16

Source§

impl Div<&BigInt> for i32

Source§

impl Div<&BigInt> for i64

Source§

impl Div<&BigInt> for i128

Source§

impl Div<&BigInt> for isize

Source§

impl Div<&BigInt> for u8

Source§

impl Div<&BigInt> for u16

Source§

impl Div<&BigInt> for u32

Source§

impl Div<&BigInt> for u64

Source§

impl Div<&BigInt> for u128

Source§

impl Div<&BigInt> for usize

Source§

impl Div<&BigUint> for &BigUint

Source§

impl Div<&BigUint> for &u8

Source§

impl Div<&BigUint> for &u16

Source§

impl Div<&BigUint> for &u32

Source§

impl Div<&BigUint> for &u64

Source§

impl Div<&BigUint> for &u128

Source§

impl Div<&BigUint> for &usize

Source§

impl Div<&BigUint> for BigUint

Source§

impl Div<&BigUint> for u8

Source§

impl Div<&BigUint> for u16

Source§

impl Div<&BigUint> for u32

Source§

impl Div<&BigUint> for u64

Source§

impl Div<&BigUint> for u128

Source§

impl Div<&BigUint> for usize

Source§

impl Div<&Fe32> for &Fe32

Source§

impl Div<&Fe32> for Fe32

Source§

impl Div<&Limb> for &Limb

Source§

impl Div<&Limb> for Limb

Source§

impl Div<&NonZero<Limb>> for &Limb

Source§

impl Div<&NonZero<Limb>> for Limb

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i8>> for &core::num::wrapping::Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i8>> for core::num::wrapping::Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i16>> for &core::num::wrapping::Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i16>> for core::num::wrapping::Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i32>> for &core::num::wrapping::Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i32>> for core::num::wrapping::Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i64>> for &core::num::wrapping::Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i64>> for core::num::wrapping::Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i128>> for &core::num::wrapping::Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<i128>> for core::num::wrapping::Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<isize>> for &core::num::wrapping::Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<isize>> for core::num::wrapping::Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u8>> for &core::num::wrapping::Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u8>> for core::num::wrapping::Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u16>> for &core::num::wrapping::Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u16>> for core::num::wrapping::Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u32>> for &core::num::wrapping::Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u32>> for core::num::wrapping::Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u64>> for &core::num::wrapping::Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u64>> for core::num::wrapping::Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u128>> for &core::num::wrapping::Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<u128>> for core::num::wrapping::Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<usize>> for &core::num::wrapping::Wrapping<usize>

1.14.0 (const: unstable) · Source§

impl Div<&Wrapping<usize>> for core::num::wrapping::Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Div<&f16> for &f16

1.0.0 (const: unstable) · Source§

impl Div<&f16> for f16

1.0.0 (const: unstable) · Source§

impl Div<&f32> for &f32

1.0.0 (const: unstable) · Source§

impl Div<&f32> for f32

1.0.0 (const: unstable) · Source§

impl Div<&f64> for &f64

1.0.0 (const: unstable) · Source§

impl Div<&f64> for f64

1.0.0 (const: unstable) · Source§

impl Div<&f128> for &f128

1.0.0 (const: unstable) · Source§

impl Div<&f128> for f128

Source§

impl Div<&i8> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i8> for &i8

Source§

impl Div<&i8> for BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i8> for i8

Source§

impl Div<&i16> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i16> for &i16

Source§

impl Div<&i16> for BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i16> for i16

Source§

impl Div<&i32> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i32> for &i32

Source§

impl Div<&i32> for BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i32> for i32

Source§

impl Div<&i64> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i64> for &i64

Source§

impl Div<&i64> for BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i64> for i64

Source§

impl Div<&i128> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i128> for &i128

Source§

impl Div<&i128> for BigInt

1.0.0 (const: unstable) · Source§

impl Div<&i128> for i128

Source§

impl Div<&isize> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<&isize> for &isize

Source§

impl Div<&isize> for BigInt

1.0.0 (const: unstable) · Source§

impl Div<&isize> for isize

Source§

impl Div<&u8> for &BigInt

Source§

impl Div<&u8> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u8> for &u8

Source§

impl Div<&u8> for BigInt

Source§

impl Div<&u8> for BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u8> for u8

Source§

impl Div<&u16> for &BigInt

Source§

impl Div<&u16> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u16> for &u16

Source§

impl Div<&u16> for BigInt

Source§

impl Div<&u16> for BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u16> for u16

Source§

impl Div<&u32> for &BigInt

Source§

impl Div<&u32> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u32> for &u32

Source§

impl Div<&u32> for BigInt

Source§

impl Div<&u32> for BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u32> for u32

Source§

impl Div<&u64> for &BigInt

Source§

impl Div<&u64> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u64> for &u64

Source§

impl Div<&u64> for BigInt

Source§

impl Div<&u64> for BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u64> for u64

Source§

impl Div<&u128> for &BigInt

Source§

impl Div<&u128> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u128> for &u128

Source§

impl Div<&u128> for BigInt

Source§

impl Div<&u128> for BigUint

1.0.0 (const: unstable) · Source§

impl Div<&u128> for u128

Source§

impl Div<&usize> for &BigInt

Source§

impl Div<&usize> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<&usize> for &usize

Source§

impl Div<&usize> for BigInt

Source§

impl Div<&usize> for BigUint

1.0.0 (const: unstable) · Source§

impl Div<&usize> for usize

Source§

impl Div<BigInt> for &BigInt

Source§

impl Div<BigInt> for &i8

Source§

impl Div<BigInt> for &i16

Source§

impl Div<BigInt> for &i32

Source§

impl Div<BigInt> for &i64

Source§

impl Div<BigInt> for &i128

Source§

impl Div<BigInt> for &isize

Source§

impl Div<BigInt> for &u8

Source§

impl Div<BigInt> for &u16

Source§

impl Div<BigInt> for &u32

Source§

impl Div<BigInt> for &u64

Source§

impl Div<BigInt> for &u128

Source§

impl Div<BigInt> for &usize

Source§

impl Div<BigInt> for i8

Source§

impl Div<BigInt> for i16

Source§

impl Div<BigInt> for i32

Source§

impl Div<BigInt> for i64

Source§

impl Div<BigInt> for i128

Source§

impl Div<BigInt> for isize

Source§

impl Div<BigInt> for u8

Source§

impl Div<BigInt> for u16

Source§

impl Div<BigInt> for u32

Source§

impl Div<BigInt> for u64

Source§

impl Div<BigInt> for u128

Source§

impl Div<BigInt> for usize

Source§

impl Div<BigUint> for &BigUint

Source§

impl Div<BigUint> for &u8

Source§

impl Div<BigUint> for &u16

Source§

impl Div<BigUint> for &u32

Source§

impl Div<BigUint> for &u64

Source§

impl Div<BigUint> for &u128

Source§

impl Div<BigUint> for &usize

Source§

impl Div<BigUint> for u8

Source§

impl Div<BigUint> for u16

Source§

impl Div<BigUint> for u32

Source§

impl Div<BigUint> for u64

Source§

impl Div<BigUint> for u128

Source§

impl Div<BigUint> for usize

Source§

impl Div<Fe32> for &Fe32

Source§

impl Div<Limb> for &Limb

Source§

impl Div<NonZero<Limb>> for &Limb

Source§

impl Div<NonZero<Limb>> for Limb

1.51.0 (const: unstable) · Source§

impl Div<NonZero<u8>> for u8

1.51.0 (const: unstable) · Source§

impl Div<NonZero<u16>> for u16

1.51.0 (const: unstable) · Source§

impl Div<NonZero<u32>> for u32

1.51.0 (const: unstable) · Source§

impl Div<NonZero<u64>> for u64

1.51.0 (const: unstable) · Source§

impl Div<NonZero<u128>> for u128

1.51.0 (const: unstable) · Source§

impl Div<NonZero<usize>> for usize

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.74.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<i8>> for &core::num::wrapping::Wrapping<i8>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<i16>> for &core::num::wrapping::Wrapping<i16>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<i32>> for &core::num::wrapping::Wrapping<i32>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<i64>> for &core::num::wrapping::Wrapping<i64>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<i128>> for &core::num::wrapping::Wrapping<i128>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<isize>> for &core::num::wrapping::Wrapping<isize>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<u8>> for &core::num::wrapping::Wrapping<u8>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<u16>> for &core::num::wrapping::Wrapping<u16>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<u32>> for &core::num::wrapping::Wrapping<u32>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<u64>> for &core::num::wrapping::Wrapping<u64>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<u128>> for &core::num::wrapping::Wrapping<u128>

1.14.0 (const: unstable) · Source§

impl Div<Wrapping<usize>> for &core::num::wrapping::Wrapping<usize>

1.0.0 (const: unstable) · Source§

impl Div<f16> for &f16

1.0.0 (const: unstable) · Source§

impl Div<f32> for &f32

1.0.0 (const: unstable) · Source§

impl Div<f64> for &f64

1.0.0 (const: unstable) · Source§

impl Div<f128> for &f128

Source§

impl Div<i8> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<i8> for &i8

Source§

impl Div<i8> for BigInt

Source§

impl Div<i16> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<i16> for &i16

Source§

impl Div<i16> for BigInt

Source§

impl Div<i32> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<i32> for &i32

Source§

impl Div<i32> for BigInt

Source§

impl Div<i64> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<i64> for &i64

Source§

impl Div<i64> for BigInt

Source§

impl Div<i128> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<i128> for &i128

Source§

impl Div<i128> for BigInt

Source§

impl Div<isize> for &BigInt

1.0.0 (const: unstable) · Source§

impl Div<isize> for &isize

Source§

impl Div<isize> for BigInt

Source§

impl Div<u8> for &BigInt

Source§

impl Div<u8> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<u8> for &u8

Source§

impl Div<u8> for BigInt

Source§

impl Div<u8> for BigUint

Source§

impl Div<u16> for &BigInt

Source§

impl Div<u16> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<u16> for &u16

Source§

impl Div<u16> for BigInt

Source§

impl Div<u16> for BigUint

Source§

impl Div<u32> for &BigInt

Source§

impl Div<u32> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<u32> for &u32

Source§

impl Div<u32> for BigInt

Source§

impl Div<u32> for BigUint

1.3.0 (const: unstable) · Source§

impl Div<u32> for Duration

Source§

impl Div<u64> for &BigInt

Source§

impl Div<u64> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<u64> for &u64

Source§

impl Div<u64> for BigInt

Source§

impl Div<u64> for BigUint

Source§

impl Div<u128> for &BigInt

Source§

impl Div<u128> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<u128> for &u128

Source§

impl Div<u128> for BigInt

Source§

impl Div<u128> for BigUint

Source§

impl Div<usize> for &BigInt

Source§

impl Div<usize> for &BigUint

1.0.0 (const: unstable) · Source§

impl Div<usize> for &usize

Source§

impl Div<usize> for BigInt

Source§

impl Div<usize> for BigUint

Source§

impl<'a, P> Div<&'a mut Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

Source§

impl<'a, P> Div<&'a mut Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

Source§

impl<'a, P> Div<&'a mut Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

Source§

impl<'a, P> Div<&'a mut Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

Source§

impl<'a, P> Div<&'a mut Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

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

Source§

type Output = Simd<T, N>

Source§

impl<E, I> Div for Integer<E, I>
where E: Environment, I: IntegerType,

Source§

type Output = Integer<E, I>

Source§

impl<E, I> Div<&Integer<E, I>> for Integer<E, I>
where E: Environment, I: IntegerType,

Source§

type Output = Integer<E, I>

Source§

impl<E> Div for Field<E>
where E: Environment,

Source§

impl<E> Div for Scalar<E>
where E: Environment,

Source§

impl<E> Div<&Field<E>> for Field<E>
where E: Environment,

Source§

impl<E> Div<&Scalar<E>> for Scalar<E>
where E: Environment,

Source§

impl<I> Div<I> for Z0
where I: Integer + NonZero,

Z0 / I = Z0 where I != 0

Source§

impl<P> Div for Fp2<P>
where P: Fp2Parameters,

Source§

impl<P> Div for Fp6<P>
where P: Fp6Parameters,

Source§

impl<P> Div for Fp12<P>
where P: Fp12Parameters,

Source§

impl<P> Div for Fp256<P>
where P: Fp256Parameters,

Source§

impl<P> Div for Fp384<P>
where P: Fp384Parameters,

Source§

impl<P> Div<&&Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

Source§

impl<P> Div<&&Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

Source§

impl<P> Div<&&Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

Source§

impl<P> Div<&&Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

Source§

impl<P> Div<&&Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

Source§

impl<P> Div<&Fp2<P>> for Fp2<P>
where P: Fp2Parameters,

Source§

impl<P> Div<&Fp6<P>> for Fp6<P>
where P: Fp6Parameters,

Source§

impl<P> Div<&Fp12<P>> for Fp12<P>
where P: Fp12Parameters,

Source§

impl<P> Div<&Fp256<P>> for Fp256<P>
where P: Fp256Parameters,

Source§

impl<P> Div<&Fp384<P>> for Fp384<P>
where P: Fp384Parameters,

Source§

impl<Rhs> Div<Rhs> for ATerm

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

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

Source§

type Output = Simd<T, N>

Source§

impl<T> Div for Checked<T>

Source§

impl<T> Div<&Checked<T>> for &Checked<T>

Source§

impl<T> Div<&Checked<T>> for Checked<T>

Source§

impl<T> Div<Checked<T>> for &Checked<T>

Source§

impl<Ul, Bl, Ur, Br> Div<UInt<Ur, Br>> for UInt<Ul, Bl>
where Ul: Unsigned, Bl: Bit, Ur: Unsigned, Br: Bit, UInt<Ul, Bl>: Len, <UInt<Ul, Bl> as Len>::Output: Sub<B1>, (): PrivateDiv<UInt<Ul, Bl>, UInt<Ur, Br>, UTerm, UTerm, <<UInt<Ul, Bl> as Len>::Output as Sub<B1>>::Output>,

Source§

type Output = <() as PrivateDiv<UInt<Ul, Bl>, UInt<Ur, Br>, UTerm, UTerm, <<UInt<Ul, Bl> as Len>::Output as Sub<B1>>::Output>>::Quotient

Source§

impl<Ul, Ur> Div<NInt<Ur>> for NInt<Ul>
where Ul: Unsigned + NonZero + Cmp<Ur>, Ur: Unsigned + NonZero, NInt<Ul>: PrivateDivInt<<Ul as Cmp<Ur>>::Output, NInt<Ur>>,

$A<Ul> / $B<Ur> = $R<Ul / Ur>

Source§

type Output = <NInt<Ul> as PrivateDivInt<<Ul as Cmp<Ur>>::Output, NInt<Ur>>>::Output

Source§

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

$A<Ul> / $B<Ur> = $R<Ul / Ur>

Source§

type Output = <PInt<Ul> as PrivateDivInt<<Ul as Cmp<Ur>>::Output, NInt<Ur>>>::Output

Source§

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

$A<Ul> / $B<Ur> = $R<Ul / Ur>

Source§

type Output = <NInt<Ul> as PrivateDivInt<<Ul as Cmp<Ur>>::Output, PInt<Ur>>>::Output

Source§

impl<Ul, Ur> Div<PInt<Ur>> for PInt<Ul>
where Ul: Unsigned + NonZero + Cmp<Ur>, Ur: Unsigned + NonZero, PInt<Ul>: PrivateDivInt<<Ul as Cmp<Ur>>::Output, PInt<Ur>>,

$A<Ul> / $B<Ur> = $R<Ul / Ur>

Source§

type Output = <PInt<Ul> as PrivateDivInt<<Ul as Cmp<Ur>>::Output, PInt<Ur>>>::Output

Source§

impl<Ur, Br> Div<UInt<Ur, Br>> for UTerm
where Ur: Unsigned, Br: Bit,

Source§

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

Source§

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

Source§

impl<const LIMBS: usize, Rhs> Div<&NonZero<Rhs>> for &Uint<LIMBS>
where Rhs: ToUnsigned + ?Sized,

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize, Rhs> Div<&NonZero<Rhs>> for &crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>
where Rhs: ToUnsigned + ?Sized,

Source§

impl<const LIMBS: usize, Rhs> Div<&NonZero<Rhs>> for Uint<LIMBS>
where Rhs: ToUnsigned + ?Sized,

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize, Rhs> Div<&NonZero<Rhs>> for crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>
where Rhs: ToUnsigned + ?Sized,

Source§

impl<const LIMBS: usize, Rhs> Div<NonZero<Rhs>> for &Uint<LIMBS>
where Rhs: Unsigned,

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize, Rhs> Div<NonZero<Rhs>> for &crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>
where Rhs: Unsigned,

Source§

impl<const LIMBS: usize, Rhs> Div<NonZero<Rhs>> for Uint<LIMBS>
where Rhs: Unsigned,

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize, Rhs> Div<NonZero<Rhs>> for crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>
where Rhs: Unsigned,

Source§

impl<const LIMBS: usize, Rhs> Div<Rhs> for &Uint<LIMBS>
where Rhs: Unsigned,

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize, Rhs> Div<Rhs> for Uint<LIMBS>
where Rhs: Unsigned,

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<&NonZero<Int<RHS_LIMBS>>> for &Int<LIMBS>

Source§

type Output = CtOption<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<&NonZero<Int<RHS_LIMBS>>> for &crypto_bigint::wrapping::Wrapping<Int<LIMBS>>

Source§

type Output = Wrapping<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<&NonZero<Int<RHS_LIMBS>>> for Int<LIMBS>

Source§

type Output = CtOption<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<&NonZero<Int<RHS_LIMBS>>> for crypto_bigint::wrapping::Wrapping<Int<LIMBS>>

Source§

type Output = Wrapping<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<&NonZero<Uint<RHS_LIMBS>>> for &Int<LIMBS>

Source§

type Output = Int<LIMBS>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<&NonZero<Uint<RHS_LIMBS>>> for &crypto_bigint::wrapping::Wrapping<Int<LIMBS>>

Source§

type Output = Wrapping<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<&NonZero<Uint<RHS_LIMBS>>> for Int<LIMBS>

Source§

type Output = Int<LIMBS>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<&NonZero<Uint<RHS_LIMBS>>> for crypto_bigint::wrapping::Wrapping<Int<LIMBS>>

Source§

type Output = Wrapping<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<NonZero<Int<RHS_LIMBS>>> for &Int<LIMBS>

Source§

type Output = CtOption<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<NonZero<Int<RHS_LIMBS>>> for &crypto_bigint::wrapping::Wrapping<Int<LIMBS>>

Source§

type Output = Wrapping<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<NonZero<Int<RHS_LIMBS>>> for Int<LIMBS>

Source§

type Output = CtOption<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<NonZero<Int<RHS_LIMBS>>> for crypto_bigint::wrapping::Wrapping<Int<LIMBS>>

Source§

type Output = Wrapping<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<NonZero<Uint<RHS_LIMBS>>> for &Int<LIMBS>

Source§

type Output = Int<LIMBS>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<NonZero<Uint<RHS_LIMBS>>> for &crypto_bigint::wrapping::Wrapping<Int<LIMBS>>

Source§

type Output = Wrapping<Int<LIMBS>>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<NonZero<Uint<RHS_LIMBS>>> for Int<LIMBS>

Source§

type Output = Int<LIMBS>

Source§

impl<const LIMBS: usize, const RHS_LIMBS: usize> Div<NonZero<Uint<RHS_LIMBS>>> for crypto_bigint::wrapping::Wrapping<Int<LIMBS>>

Source§

type Output = Wrapping<Int<LIMBS>>

Source§

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

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

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>