PrivateXor

Trait PrivateXor 

Source
pub trait PrivateXor<Rhs = Self> {
    type Output;

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

Does the real xoring for UInts; Xor just calls this and then Trim.

Required Associated Types§

Required Methods§

Source

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

Implementors§

Source§

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

X ^ UTerm = X

Source§

type Output = UInt<U, B>

Source§

impl<U: Unsigned> PrivateXor<U> for UTerm

UTerm ^ X = X

Source§

impl<Ul, Ur: Unsigned> PrivateXor<UInt<Ur, B0>> for UInt<Ul, B0>
where Ul: PrivateXor<Ur> + Unsigned,

UInt<Ul, B0> ^ UInt<Ur, B0> = UInt<Ul ^ Ur, B0>

Source§

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

Source§

impl<Ul, Ur: Unsigned> PrivateXor<UInt<Ur, B0>> for UInt<Ul, B1>
where Ul: PrivateXor<Ur> + Unsigned,

UInt<Ul, B1> ^ UInt<Ur, B0> = UInt<Ul ^ Ur, B1>

Source§

type Output = UInt<<Ul as PrivateXor<Ur>>::Output, B1>

Source§

impl<Ul, Ur: Unsigned> PrivateXor<UInt<Ur, B1>> for UInt<Ul, B0>
where Ul: PrivateXor<Ur> + Unsigned,

UInt<Ul, B0> ^ UInt<Ur, B1> = UInt<Ul ^ Ur, B1>

Source§

type Output = UInt<<Ul as PrivateXor<Ur>>::Output, B1>

Source§

impl<Ul, Ur: Unsigned> PrivateXor<UInt<Ur, B1>> for UInt<Ul, B1>
where Ul: PrivateXor<Ur> + Unsigned,

UInt<Ul, B1> ^ UInt<Ur, B1> = UInt<Ul ^ Ur, B0>

Source§

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