Skip to main content

Sub

Trait Sub 

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

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

The subtraction operator -.

Note that Rhs is Self by default, but this is not mandatory. For example, std::time::SystemTime implements Sub<Duration>, which permits operations of the form SystemTime = SystemTime - Duration.

§Examples

§Subtractable points

use std::ops::Sub;

#[derive(Debug, Copy, Clone, PartialEq)]
struct Point {
    x: i32,
    y: i32,
}

impl Sub for Point {
    type Output = Self;

    fn sub(self, other: Self) -> Self::Output {
        Self {
            x: self.x - other.x,
            y: self.y - other.y,
        }
    }
}

assert_eq!(Point { x: 3, y: 3 } - Point { x: 2, y: 3 },
           Point { x: 1, y: 0 });

§Implementing Sub with generics

Here is an example of the same Point struct implementing the Sub trait using generics.

use std::ops::Sub;

#[derive(Debug, PartialEq)]
struct Point<T> {
    x: T,
    y: T,
}

// Notice that the implementation uses the associated type `Output`.
impl<T: Sub<Output = T>> Sub for Point<T> {
    type Output = Self;

    fn sub(self, other: Self) -> Self::Output {
        Point {
            x: self.x - other.x,
            y: self.y - other.y,
        }
    }
}

assert_eq!(Point { x: 2, y: 3 } - Point { x: 1, y: 0 },
           Point { x: 1, y: 3 });

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 sub(self, rhs: Rhs) -> Self::Output

Performs the - operation.

§Example
assert_eq!(12 - 1, 11);

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

Source§

impl Sub for ATerm

Source§

impl Sub for Assume

Source§

impl Sub for BigInt

Source§

impl Sub for BigUint

§

impl Sub for Checked<Limb>

1.3.0 (const: unstable) · Source§

impl Sub for Duration

1.8.0 · Source§

impl Sub for Instant

§

impl Sub for Length

§

type Output = Result<Length, Error>

§

impl Sub for airbender_crypto::k256::ProjectivePoint

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Sub for Saturating<usize>

§

impl Sub for airbender_crypto::k256::Scalar

§

impl Sub for airbender_crypto::p256::Scalar

Source§

impl Sub for airbender_crypto::secp256k1::scalars::Scalar

Source§

impl Sub for UTerm

UTerm - UTerm = UTerm

§

impl Sub for airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Limb>

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

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

Source§

impl Sub for Z0

Z0 - Z0 = Z0

1.0.0 (const: unstable) · Source§

impl Sub for f16

1.0.0 (const: unstable) · Source§

impl Sub for f32

1.0.0 (const: unstable) · Source§

impl Sub for f64

1.0.0 (const: unstable) · Source§

impl Sub for f128

1.0.0 (const: unstable) · Source§

impl Sub for i8

1.0.0 (const: unstable) · Source§

impl Sub for i16

1.0.0 (const: unstable) · Source§

impl Sub for i32

1.0.0 (const: unstable) · Source§

impl Sub for i64

1.0.0 (const: unstable) · Source§

impl Sub for i128

1.0.0 (const: unstable) · Source§

impl Sub for isize

1.0.0 (const: unstable) · Source§

impl Sub for u8

1.0.0 (const: unstable) · Source§

impl Sub for u16

1.0.0 (const: unstable) · Source§

impl Sub for u32

1.0.0 (const: unstable) · Source§

impl Sub for u64

1.0.0 (const: unstable) · Source§

impl Sub for u128

1.0.0 (const: unstable) · Source§

impl Sub for usize

§

impl Sub<&AffinePoint> for &airbender_crypto::k256::ProjectivePoint

§

impl Sub<&AffinePoint> for airbender_crypto::k256::ProjectivePoint

Source§

impl Sub<&BigInt> for &BigInt

Source§

impl Sub<&BigInt> for &i8

Source§

impl Sub<&BigInt> for &i16

Source§

impl Sub<&BigInt> for &i32

Source§

impl Sub<&BigInt> for &i64

Source§

impl Sub<&BigInt> for &i128

Source§

impl Sub<&BigInt> for &isize

Source§

impl Sub<&BigInt> for &u8

Source§

impl Sub<&BigInt> for &u16

Source§

impl Sub<&BigInt> for &u32

Source§

impl Sub<&BigInt> for &u64

Source§

impl Sub<&BigInt> for &u128

Source§

impl Sub<&BigInt> for &usize

Source§

impl Sub<&BigInt> for BigInt

Source§

impl Sub<&BigInt> for i8

Source§

impl Sub<&BigInt> for i16

Source§

impl Sub<&BigInt> for i32

Source§

impl Sub<&BigInt> for i64

Source§

impl Sub<&BigInt> for i128

Source§

impl Sub<&BigInt> for isize

Source§

impl Sub<&BigInt> for u8

Source§

impl Sub<&BigInt> for u16

Source§

impl Sub<&BigInt> for u32

Source§

impl Sub<&BigInt> for u64

Source§

impl Sub<&BigInt> for u128

Source§

impl Sub<&BigInt> for usize

Source§

impl Sub<&BigUint> for &BigUint

Source§

impl Sub<&BigUint> for &u8

Source§

impl Sub<&BigUint> for &u16

Source§

impl Sub<&BigUint> for &u32

Source§

impl Sub<&BigUint> for &u64

Source§

impl Sub<&BigUint> for &u128

Source§

impl Sub<&BigUint> for &usize

Source§

impl Sub<&BigUint> for BigUint

Source§

impl Sub<&BigUint> for u8

Source§

impl Sub<&BigUint> for u16

Source§

impl Sub<&BigUint> for u32

Source§

impl Sub<&BigUint> for u64

Source§

impl Sub<&BigUint> for u128

Source§

impl Sub<&BigUint> for usize

§

impl Sub<&Checked<Limb>> for &Checked<Limb>

§

impl Sub<&Checked<Limb>> for Checked<Limb>

§

impl Sub<&ProjectivePoint> for &airbender_crypto::k256::ProjectivePoint

§

impl Sub<&ProjectivePoint> for airbender_crypto::k256::ProjectivePoint

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i8>> for &Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i8>> for Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i16>> for &Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i16>> for Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i32>> for &Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i32>> for Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i64>> for &Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i64>> for Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i128>> for &Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<i128>> for Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<isize>> for &Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<isize>> for Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u8>> for &Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u8>> for Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u16>> for &Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u16>> for Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u32>> for &Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u32>> for Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u64>> for &Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u64>> for Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u128>> for &Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<u128>> for Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<usize>> for &Saturating<usize>

1.74.0 (const: unstable) · Source§

impl Sub<&Saturating<usize>> for Saturating<usize>

§

impl Sub<&Scalar> for &airbender_crypto::k256::Scalar

§

impl Sub<&Scalar> for &airbender_crypto::p256::Scalar

§

impl Sub<&Scalar> for airbender_crypto::k256::Scalar

§

impl Sub<&Scalar> for airbender_crypto::p256::Scalar

§

impl Sub<&Wrapping<Limb>> for &airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Limb>

§

impl Sub<&Wrapping<Limb>> for airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Limb>

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

impl Sub<&f16> for &f16

1.0.0 (const: unstable) · Source§

impl Sub<&f16> for f16

1.0.0 (const: unstable) · Source§

impl Sub<&f32> for &f32

1.0.0 (const: unstable) · Source§

impl Sub<&f32> for f32

1.0.0 (const: unstable) · Source§

impl Sub<&f64> for &f64

1.0.0 (const: unstable) · Source§

impl Sub<&f64> for f64

1.0.0 (const: unstable) · Source§

impl Sub<&f128> for &f128

1.0.0 (const: unstable) · Source§

impl Sub<&f128> for f128

Source§

impl Sub<&i8> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i8> for &i8

Source§

impl Sub<&i8> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i8> for i8

Source§

impl Sub<&i16> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i16> for &i16

Source§

impl Sub<&i16> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i16> for i16

Source§

impl Sub<&i32> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i32> for &i32

Source§

impl Sub<&i32> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i32> for i32

Source§

impl Sub<&i64> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i64> for &i64

Source§

impl Sub<&i64> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i64> for i64

Source§

impl Sub<&i128> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i128> for &i128

Source§

impl Sub<&i128> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&i128> for i128

Source§

impl Sub<&isize> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&isize> for &isize

Source§

impl Sub<&isize> for BigInt

1.0.0 (const: unstable) · Source§

impl Sub<&isize> for isize

Source§

impl Sub<&u8> for &BigInt

Source§

impl Sub<&u8> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u8> for &u8

Source§

impl Sub<&u8> for BigInt

Source§

impl Sub<&u8> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u8> for u8

Source§

impl Sub<&u16> for &BigInt

Source§

impl Sub<&u16> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u16> for &u16

Source§

impl Sub<&u16> for BigInt

Source§

impl Sub<&u16> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u16> for u16

Source§

impl Sub<&u32> for &BigInt

Source§

impl Sub<&u32> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u32> for &u32

Source§

impl Sub<&u32> for BigInt

Source§

impl Sub<&u32> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u32> for u32

Source§

impl Sub<&u64> for &BigInt

Source§

impl Sub<&u64> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u64> for &u64

Source§

impl Sub<&u64> for BigInt

Source§

impl Sub<&u64> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u64> for u64

Source§

impl Sub<&u128> for &BigInt

Source§

impl Sub<&u128> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u128> for &u128

Source§

impl Sub<&u128> for BigInt

Source§

impl Sub<&u128> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&u128> for u128

Source§

impl Sub<&usize> for &BigInt

Source§

impl Sub<&usize> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&usize> for &usize

Source§

impl Sub<&usize> for BigInt

Source§

impl Sub<&usize> for BigUint

1.0.0 (const: unstable) · Source§

impl Sub<&usize> for usize

§

impl Sub<AffinePoint> for airbender_crypto::k256::ProjectivePoint

Source§

impl Sub<B0> for UTerm

UTerm - B0 = Term

Source§

impl Sub<B1> for UInt<UTerm, B1>

UInt<UTerm, B1> - B1 = UTerm

Source§

impl Sub<BigInt> for &BigInt

Source§

impl Sub<BigInt> for &i8

Source§

impl Sub<BigInt> for &i16

Source§

impl Sub<BigInt> for &i32

Source§

impl Sub<BigInt> for &i64

Source§

impl Sub<BigInt> for &i128

Source§

impl Sub<BigInt> for &isize

Source§

impl Sub<BigInt> for &u8

Source§

impl Sub<BigInt> for &u16

Source§

impl Sub<BigInt> for &u32

Source§

impl Sub<BigInt> for &u64

Source§

impl Sub<BigInt> for &u128

Source§

impl Sub<BigInt> for &usize

Source§

impl Sub<BigInt> for i8

Source§

impl Sub<BigInt> for i16

Source§

impl Sub<BigInt> for i32

Source§

impl Sub<BigInt> for i64

Source§

impl Sub<BigInt> for i128

Source§

impl Sub<BigInt> for isize

Source§

impl Sub<BigInt> for u8

Source§

impl Sub<BigInt> for u16

Source§

impl Sub<BigInt> for u32

Source§

impl Sub<BigInt> for u64

Source§

impl Sub<BigInt> for u128

Source§

impl Sub<BigInt> for usize

Source§

impl Sub<BigUint> for &BigUint

Source§

impl Sub<BigUint> for &u8

Source§

impl Sub<BigUint> for &u16

Source§

impl Sub<BigUint> for &u32

Source§

impl Sub<BigUint> for &u64

Source§

impl Sub<BigUint> for &u128

Source§

impl Sub<BigUint> for &usize

Source§

impl Sub<BigUint> for u8

Source§

impl Sub<BigUint> for u16

Source§

impl Sub<BigUint> for u32

Source§

impl Sub<BigUint> for u64

Source§

impl Sub<BigUint> for u128

Source§

impl Sub<BigUint> for usize

§

impl Sub<Checked<Limb>> for &Checked<Limb>

1.8.0 · Source§

impl Sub<Duration> for Instant

1.8.0 · Source§

impl Sub<Duration> for SystemTime

§

impl Sub<Length> for Result<Length, Error>

§

type Output = Result<Length, Error>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i8>> for &Saturating<i8>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i16>> for &Saturating<i16>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i32>> for &Saturating<i32>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i64>> for &Saturating<i64>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<i128>> for &Saturating<i128>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<isize>> for &Saturating<isize>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u8>> for &Saturating<u8>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u16>> for &Saturating<u16>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u32>> for &Saturating<u32>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u64>> for &Saturating<u64>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<u128>> for &Saturating<u128>

1.74.0 (const: unstable) · Source§

impl Sub<Saturating<usize>> for &Saturating<usize>

§

impl Sub<Wrapping<Limb>> for &airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Limb>

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.14.0 (const: unstable) · Source§

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

1.0.0 (const: unstable) · Source§

impl Sub<f16> for &f16

1.0.0 (const: unstable) · Source§

impl Sub<f32> for &f32

1.0.0 (const: unstable) · Source§

impl Sub<f64> for &f64

1.0.0 (const: unstable) · Source§

impl Sub<f128> for &f128

Source§

impl Sub<i8> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i8> for &i8

Source§

impl Sub<i8> for BigInt

Source§

impl Sub<i16> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i16> for &i16

Source§

impl Sub<i16> for BigInt

Source§

impl Sub<i32> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i32> for &i32

Source§

impl Sub<i32> for BigInt

Source§

impl Sub<i64> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i64> for &i64

Source§

impl Sub<i64> for BigInt

Source§

impl Sub<i128> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<i128> for &i128

Source§

impl Sub<i128> for BigInt

Source§

impl Sub<isize> for &BigInt

1.0.0 (const: unstable) · Source§

impl Sub<isize> for &isize

Source§

impl Sub<isize> for BigInt

Source§

impl Sub<u8> for &BigInt

Source§

impl Sub<u8> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u8> for &u8

Source§

impl Sub<u8> for BigInt

Source§

impl Sub<u8> for BigUint

Source§

impl Sub<u16> for &BigInt

Source§

impl Sub<u16> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u16> for &u16

Source§

impl Sub<u16> for BigInt

Source§

impl Sub<u16> for BigUint

Source§

impl Sub<u32> for &BigInt

Source§

impl Sub<u32> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u32> for &u32

Source§

impl Sub<u32> for BigInt

Source§

impl Sub<u32> for BigUint

Source§

impl Sub<u64> for &BigInt

Source§

impl Sub<u64> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u64> for &u64

Source§

impl Sub<u64> for BigInt

Source§

impl Sub<u64> for BigUint

Source§

impl Sub<u128> for &BigInt

Source§

impl Sub<u128> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<u128> for &u128

Source§

impl Sub<u128> for BigInt

Source§

impl Sub<u128> for BigUint

Source§

impl Sub<usize> for &BigInt

Source§

impl Sub<usize> for &BigUint

1.0.0 (const: unstable) · Source§

impl Sub<usize> for &usize

Source§

impl Sub<usize> for BigInt

Source§

impl Sub<usize> for BigUint

§

impl<'a, 'b, F, D> Sub<&'a Evaluations<F, D>> for &'b Evaluations<F, D>
where F: FftField, D: EvaluationDomain<F>,

§

type Output = Evaluations<F, D>

§

impl<'a, 'b, F, T> Sub<&'a SparsePolynomial<F, T>> for &'b SparsePolynomial<F, T>
where F: Field, T: Term,

§

type Output = SparsePolynomial<F, T>

§

impl<'a, 'b, F> Sub<&'a DenseMultilinearExtension<F>> for &'b DenseMultilinearExtension<F>
where F: Field,

§

type Output = DenseMultilinearExtension<F>

§

impl<'a, 'b, F> Sub<&'a DensePolynomial<F>> for &'b DensePolynomial<F>
where F: Field,

§

type Output = DensePolynomial<F>

§

impl<'a, 'b, F> Sub<&'a SparseMultilinearExtension<F>> for &'b SparseMultilinearExtension<F>
where F: Field,

§

type Output = SparseMultilinearExtension<F>

§

impl<'a, 'b, F> Sub<&'a SparsePolynomial<F>> for &'b DensePolynomial<F>
where F: Field,

§

type Output = DensePolynomial<F>

§

impl<'a, 'b, P, const N: usize> Sub<&'b Fp<P, N>> for &'a Fp<P, N>
where P: FpConfig<N>,

§

type Output = Fp<P, N>

§

impl<'a, 'b, P> Sub<&'a CubicExtField<P>> for &'b CubicExtField<P>
where P: CubicExtConfig,

§

type Output = CubicExtField<P>

§

impl<'a, 'b, P> Sub<&'a PairingOutput<P>> for &'b PairingOutput<P>
where P: Pairing,

§

type Output = PairingOutput<P>

§

impl<'a, 'b, P> Sub<&'a Projective<P>> for &'b Projective<P>
where P: SWCurveConfig,

§

type Output = Projective<P>

§

impl<'a, 'b, P> Sub<&'a Projective<P>> for &'b Projective<P>
where P: TECurveConfig,

§

type Output = Projective<P>

§

impl<'a, 'b, P> Sub<&'a QuadExtField<P>> for &'b QuadExtField<P>
where P: QuadExtConfig,

§

type Output = QuadExtField<P>

§

impl<'a, 'b, P> Sub<&'a mut CubicExtField<P>> for &'b CubicExtField<P>
where P: CubicExtConfig,

§

type Output = CubicExtField<P>

§

impl<'a, 'b, P> Sub<&'a mut PairingOutput<P>> for &'b PairingOutput<P>
where P: Pairing,

§

type Output = PairingOutput<P>

§

impl<'a, 'b, P> Sub<&'a mut Projective<P>> for &'b Projective<P>
where P: SWCurveConfig,

§

type Output = Projective<P>

§

impl<'a, 'b, P> Sub<&'a mut Projective<P>> for &'b Projective<P>
where P: TECurveConfig,

§

type Output = Projective<P>

§

impl<'a, 'b, P> Sub<&'a mut QuadExtField<P>> for &'b QuadExtField<P>
where P: QuadExtConfig,

§

type Output = QuadExtField<P>

§

impl<'a, F> Sub<&'a DensePolynomial<F>> for DensePolynomial<F>
where F: Field,

§

type Output = DensePolynomial<F>

§

impl<'a, F> Sub<DensePolynomial<F>> for &'a DensePolynomial<F>
where F: Field,

§

type Output = DensePolynomial<F>

§

impl<'a, P, const N: usize> Sub<&'a Fp<P, N>> for Fp<P, N>
where P: FpConfig<N>,

§

type Output = Fp<P, N>

§

impl<'a, P, const N: usize> Sub<&'a mut Fp<P, N>> for Fp<P, N>
where P: FpConfig<N>,

§

type Output = Fp<P, N>

§

impl<'a, P> Sub<&'a CubicExtField<P>> for CubicExtField<P>
where P: CubicExtConfig,

§

type Output = CubicExtField<P>

§

impl<'a, P> Sub<&'a PairingOutput<P>> for PairingOutput<P>
where P: Pairing,

§

type Output = PairingOutput<P>

§

impl<'a, P> Sub<&'a Projective<P>> for Affine<P>
where P: SWCurveConfig,

§

type Output = Projective<P>

§

impl<'a, P> Sub<&'a Projective<P>> for Affine<P>
where P: TECurveConfig,

§

type Output = Projective<P>

§

impl<'a, P> Sub<&'a Projective<P>> for Projective<P>
where P: SWCurveConfig,

§

type Output = Projective<P>

§

impl<'a, P> Sub<&'a Projective<P>> for Projective<P>
where P: TECurveConfig,

§

type Output = Projective<P>

§

impl<'a, P> Sub<&'a QuadExtField<P>> for QuadExtField<P>
where P: QuadExtConfig,

§

type Output = QuadExtField<P>

§

impl<'a, P> Sub<&'a mut CubicExtField<P>> for CubicExtField<P>
where P: CubicExtConfig,

§

type Output = CubicExtField<P>

§

impl<'a, P> Sub<&'a mut PairingOutput<P>> for PairingOutput<P>
where P: Pairing,

§

type Output = PairingOutput<P>

§

impl<'a, P> Sub<&'a mut Projective<P>> for Projective<P>
where P: SWCurveConfig,

§

type Output = Projective<P>

§

impl<'a, P> Sub<&'a mut Projective<P>> for Projective<P>
where P: TECurveConfig,

§

type Output = Projective<P>

§

impl<'a, P> Sub<&'a mut QuadExtField<P>> for QuadExtField<P>
where P: QuadExtConfig,

§

type Output = QuadExtField<P>

§

impl<'b, P> Sub<CubicExtField<P>> for &'b CubicExtField<P>
where P: CubicExtConfig,

§

type Output = CubicExtField<P>

§

impl<'b, P> Sub<PairingOutput<P>> for &'b PairingOutput<P>
where P: Pairing,

§

type Output = PairingOutput<P>

§

impl<'b, P> Sub<Projective<P>> for &'b Projective<P>
where P: SWCurveConfig,

§

type Output = Projective<P>

§

impl<'b, P> Sub<Projective<P>> for &'b Projective<P>
where P: TECurveConfig,

§

type Output = Projective<P>

§

impl<'b, P> Sub<QuadExtField<P>> for &'b QuadExtField<P>
where P: QuadExtConfig,

§

type Output = QuadExtField<P>

Source§

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

Source§

type Output = Simd<T, N>

§

impl<C> Sub for ProjectivePoint<C>
where C: PrimeCurveParams,

§

type Output = ProjectivePoint<C>

§

impl<C> Sub for ScalarPrimitive<C>
where C: Curve,

§

impl<C> Sub<&AffinePoint<C>> for &ProjectivePoint<C>
where C: PrimeCurveParams,

§

type Output = ProjectivePoint<C>

§

impl<C> Sub<&AffinePoint<C>> for ProjectivePoint<C>
where C: PrimeCurveParams,

§

type Output = ProjectivePoint<C>

§

impl<C> Sub<&ProjectivePoint<C>> for &ProjectivePoint<C>
where C: PrimeCurveParams,

§

type Output = ProjectivePoint<C>

§

impl<C> Sub<&ProjectivePoint<C>> for ProjectivePoint<C>
where C: PrimeCurveParams,

§

type Output = ProjectivePoint<C>

§

impl<C> Sub<&ScalarPrimitive<C>> for ScalarPrimitive<C>
where C: Curve,

§

impl<C> Sub<AffinePoint<C>> for ProjectivePoint<C>
where C: PrimeCurveParams,

§

type Output = ProjectivePoint<C>

§

impl<F> Sub for DenseMultilinearExtension<F>
where F: Field,

§

type Output = DenseMultilinearExtension<F>

§

impl<F> Sub for DensePolynomial<F>
where F: Field,

§

type Output = DensePolynomial<F>

§

impl<F> Sub for SparseMultilinearExtension<F>
where F: Field,

§

type Output = SparseMultilinearExtension<F>

§

impl<MOD, const LIMBS: usize> Sub for Residue<MOD, LIMBS>
where MOD: ResidueParams<LIMBS>,

§

type Output = Residue<MOD, LIMBS>

§

impl<MOD, const LIMBS: usize> Sub<&Residue<MOD, LIMBS>> for &Residue<MOD, LIMBS>
where MOD: ResidueParams<LIMBS>,

§

type Output = Residue<MOD, LIMBS>

§

impl<MOD, const LIMBS: usize> Sub<&Residue<MOD, LIMBS>> for Residue<MOD, LIMBS>
where MOD: ResidueParams<LIMBS>,

§

type Output = Residue<MOD, LIMBS>

§

impl<MOD, const LIMBS: usize> Sub<Residue<MOD, LIMBS>> for &Residue<MOD, LIMBS>
where MOD: ResidueParams<LIMBS>,

§

type Output = Residue<MOD, LIMBS>

§

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

§

type Output = F32<O>

§

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

§

type Output = F64<O>

§

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

§

type Output = I16<O>

§

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

§

type Output = I32<O>

§

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

§

type Output = I64<O>

§

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

§

type Output = I128<O>

§

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

§

type Output = Isize<O>

§

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

§

type Output = U16<O>

§

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

§

type Output = U32<O>

§

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

§

type Output = U64<O>

§

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

§

type Output = U128<O>

§

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

§

type Output = Usize<O>

§

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

§

type Output = F32<O>

§

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

§

type Output = F64<O>

§

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

§

type Output = I16<O>

§

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

§

type Output = I32<O>

§

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

§

type Output = I64<O>

§

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

§

type Output = I128<O>

§

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

§

type Output = Isize<O>

§

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

§

type Output = U16<O>

§

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

§

type Output = U32<O>

§

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

§

type Output = U64<O>

§

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

§

type Output = U128<O>

§

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

§

type Output = Usize<O>

§

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

§

type Output = F32<O>

§

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

§

type Output = F64<O>

§

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

§

type Output = I16<O>

§

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

§

type Output = I32<O>

§

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

§

type Output = I64<O>

§

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

§

type Output = I128<O>

§

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

§

type Output = Isize<O>

§

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

§

type Output = U16<O>

§

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

§

type Output = U32<O>

§

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

§

type Output = U64<O>

§

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

§

type Output = U128<O>

§

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

§

type Output = Usize<O>

§

impl<P, T> Sub<T> for Affine<P>
where P: SWCurveConfig, T: Borrow<Affine<P>>,

§

type Output = Projective<P>

§

impl<P, T> Sub<T> for Affine<P>
where P: TECurveConfig, T: Borrow<Affine<P>>,

§

type Output = Projective<P>

§

impl<P, T> Sub<T> for Projective<P>
where P: SWCurveConfig, T: Borrow<Affine<P>>,

§

type Output = Projective<P>

§

impl<P, T> Sub<T> for Projective<P>
where P: TECurveConfig, T: Borrow<Affine<P>>,

§

type Output = Projective<P>

§

impl<P, const N: usize> Sub for Fp<P, N>
where P: FpConfig<N>,

§

type Output = Fp<P, N>

§

impl<P> Sub for CubicExtField<P>
where P: CubicExtConfig,

§

type Output = CubicExtField<P>

§

impl<P> Sub for PairingOutput<P>
where P: Pairing,

§

type Output = PairingOutput<P>

§

impl<P> Sub for Projective<P>
where P: SWCurveConfig,

§

type Output = Projective<P>

§

impl<P> Sub for Projective<P>
where P: TECurveConfig,

§

type Output = Projective<P>

§

impl<P> Sub for QuadExtField<P>
where P: QuadExtConfig,

§

type Output = QuadExtField<P>

§

impl<P> Sub<Projective<P>> for Affine<P>
where P: SWCurveConfig,

§

type Output = Projective<P>

§

impl<P> Sub<Projective<P>> for Affine<P>
where P: TECurveConfig,

§

type Output = Projective<P>

1.0.0 · Source§

impl<T, A> Sub<&BTreeSet<T, A>> for &BTreeSet<T, A>
where T: Ord + Clone, A: Allocator + Clone,

§

impl<T, S, A> Sub<&HashSet<T, S, A>> for &HashSet<T, S, A>
where T: Eq + Hash + Clone, S: BuildHasher + Default, A: Allocator + Default,

§

type Output = HashSet<T, S, A>

§

impl<T, S> Sub<&AHashSet<T, S>> for &AHashSet<T, S>
where T: Eq + Hash + Clone, S: BuildHasher + Default,

§

type Output = AHashSet<T, S>

1.0.0 · Source§

impl<T, S> Sub<&HashSet<T, S>> for &std::collections::hash::set::HashSet<T, S>
where T: Eq + Hash + Clone, S: BuildHasher + Default,

Source§

type Output = HashSet<T, S>

Source§

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

Source§

type Output = Simd<T, N>

Source§

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

Source§

type Output = Simd<T, N>

Source§

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

UInt - B0 = UInt

Source§

type Output = UInt<U, B>

Source§

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

UInt<U, B1> - B1 = UInt<U, B0>

Source§

type Output = UInt<UInt<U, B>, B0>

Source§

impl<U> Sub<B1> for UInt<U, B0>
where U: Unsigned + Sub<B1>, <U as Sub<B1>>::Output: Unsigned,

UInt<U, B0> - B1 = UInt<U - B1, B1>

Source§

type Output = UInt<<U as Sub<B1>>::Output, B1>

Source§

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

Z0 - N = P

Source§

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

Z0 - P = N

Source§

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

NInt - Z0 = NInt

Source§

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

PInt - Z0 = PInt

Source§

impl<Ul, Bl, Ur> Sub<Ur> for UInt<Ul, Bl>
where Ul: Unsigned, Bl: Bit, Ur: Unsigned, UInt<Ul, Bl>: PrivateSub<Ur>, <UInt<Ul, Bl> as PrivateSub<Ur>>::Output: Trim,

Subtracting unsigned integers. We just do our PrivateSub and then Trim the output.

Source§

type Output = <<UInt<Ul, Bl> as PrivateSub<Ur>>::Output as Trim>::Output

Source§

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

N(Ul) - N(Ur): We resolve this with our PrivateAdd

Source§

type Output = <Ur as PrivateIntegerAdd<<Ur as Cmp<Ul>>::Output, Ul>>::Output

Source§

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

P(Ul) - N(Ur) = P(Ul + Ur)

Source§

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

Source§

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

N(Ul) - P(Ur) = N(Ul + Ur)

Source§

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

Source§

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

P(Ul) - P(Ur): We resolve this with our PrivateAdd

Source§

type Output = <Ul as PrivateIntegerAdd<<Ul as Cmp<Ur>>::Output, Ur>>::Output

Source§

impl<Vl, Al, Vr, Ar> Sub<TArr<Vr, Ar>> for TArr<Vl, Al>
where Vl: Sub<Vr>, Al: Sub<Ar>,

Source§

type Output = TArr<<Vl as Sub<Vr>>::Output, <Al as Sub<Ar>>::Output>

§

impl<const BITS: usize, const LIMBS: usize> Sub for Uint<BITS, LIMBS>

§

type Output = Uint<BITS, LIMBS>

§

impl<const BITS: usize, const LIMBS: usize> Sub<&Uint<BITS, LIMBS>> for &Uint<BITS, LIMBS>

§

type Output = Uint<BITS, LIMBS>

§

impl<const BITS: usize, const LIMBS: usize> Sub<&Uint<BITS, LIMBS>> for Uint<BITS, LIMBS>

§

type Output = Uint<BITS, LIMBS>

§

impl<const BITS: usize, const LIMBS: usize> Sub<Uint<BITS, LIMBS>> for &Uint<BITS, LIMBS>

§

type Output = Uint<BITS, LIMBS>

§

impl<const LIMBS: usize> Sub for Checked<Uint<LIMBS>>

§

type Output = Checked<Uint<LIMBS>>

§

impl<const LIMBS: usize> Sub for DynResidue<LIMBS>

§

type Output = DynResidue<LIMBS>

§

impl<const LIMBS: usize> Sub for airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Uint<LIMBS>>

§

type Output = Wrapping<Uint<LIMBS>>

§

impl<const LIMBS: usize> Sub<&Checked<Uint<LIMBS>>> for &Checked<Uint<LIMBS>>

§

type Output = Checked<Uint<LIMBS>>

§

impl<const LIMBS: usize> Sub<&Checked<Uint<LIMBS>>> for Checked<Uint<LIMBS>>

§

type Output = Checked<Uint<LIMBS>>

§

impl<const LIMBS: usize> Sub<&DynResidue<LIMBS>> for &DynResidue<LIMBS>

§

type Output = DynResidue<LIMBS>

§

impl<const LIMBS: usize> Sub<&DynResidue<LIMBS>> for DynResidue<LIMBS>

§

type Output = DynResidue<LIMBS>

§

impl<const LIMBS: usize> Sub<&Wrapping<Uint<LIMBS>>> for &airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Uint<LIMBS>>

§

type Output = Wrapping<Uint<LIMBS>>

§

impl<const LIMBS: usize> Sub<&Wrapping<Uint<LIMBS>>> for airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Uint<LIMBS>>

§

type Output = Wrapping<Uint<LIMBS>>

§

impl<const LIMBS: usize> Sub<Checked<Uint<LIMBS>>> for &Checked<Uint<LIMBS>>

§

type Output = Checked<Uint<LIMBS>>

§

impl<const LIMBS: usize> Sub<DynResidue<LIMBS>> for &DynResidue<LIMBS>

§

type Output = DynResidue<LIMBS>

§

impl<const LIMBS: usize> Sub<Wrapping<Uint<LIMBS>>> for &airbender_crypto::k256::elliptic_curve::bigint::Wrapping<Uint<LIMBS>>

§

type Output = Wrapping<Uint<LIMBS>>

Source§

impl<const N: usize> Sub for Simd<f16, N>

Source§

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

Source§

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

Source§

impl<const N: usize> Sub for Simd<i8, N>
where i8: SimdElement,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<const N: usize> Sub for Simd<u8, N>
where u8: SimdElement,

Source§

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

Source§

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

Source§

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

Source§

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