Trait BitXor

1.0.0 · Source
pub trait BitXor<Rhs = Self> {
    type Output;

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

The bitwise XOR operator ^.

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

§Examples

An implementation of BitXor that lifts ^ to a wrapper around bool.

use std::ops::BitXor;

#[derive(Debug, PartialEq)]
struct Scalar(bool);

impl BitXor for Scalar {
    type Output = Self;

    // rhs is the "right-hand side" of the expression `a ^ b`
    fn bitxor(self, rhs: Self) -> Self::Output {
        Self(self.0 ^ rhs.0)
    }
}

assert_eq!(Scalar(true) ^ Scalar(true), Scalar(false));
assert_eq!(Scalar(true) ^ Scalar(false), Scalar(true));
assert_eq!(Scalar(false) ^ Scalar(true), Scalar(true));
assert_eq!(Scalar(false) ^ Scalar(false), Scalar(false));

An implementation of BitXor trait for a wrapper around Vec<bool>.

use std::ops::BitXor;

#[derive(Debug, PartialEq)]
struct BooleanVector(Vec<bool>);

impl BitXor for BooleanVector {
    type Output = Self;

    fn bitxor(self, Self(rhs): Self) -> Self::Output {
        let Self(lhs) = self;
        assert_eq!(lhs.len(), rhs.len());
        Self(
            lhs.iter()
                .zip(rhs.iter())
                .map(|(x, y)| *x ^ *y)
                .collect()
        )
    }
}

let bv1 = BooleanVector(vec![true, true, false, false]);
let bv2 = BooleanVector(vec![true, false, true, false]);
let expected = BooleanVector(vec![false, true, true, false]);
assert_eq!(bv1 ^ bv2, expected);

Required Associated Types§

1.0.0 · Source

type Output

The resulting type after applying the ^ operator.

Required Methods§

1.0.0 · Source

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

Performs the ^ operation.

§Examples
assert_eq!(true ^ false, true);
assert_eq!(true ^ true, false);
assert_eq!(5u8 ^ 1u8, 4);
assert_eq!(5u8 ^ 2u8, 7);

Implementors§

1.0.0 · Source§

impl BitXor for bool

1.0.0 · Source§

impl BitXor for i8

1.0.0 · Source§

impl BitXor for i16

1.0.0 · Source§

impl BitXor for i32

1.0.0 · Source§

impl BitXor for i64

1.0.0 · Source§

impl BitXor for i128

1.0.0 · Source§

impl BitXor for isize

1.0.0 · Source§

impl BitXor for u8

1.0.0 · Source§

impl BitXor for u16

1.0.0 · Source§

impl BitXor for u32

1.0.0 · Source§

impl BitXor for u64

1.0.0 · Source§

impl BitXor for u128

1.0.0 · Source§

impl BitXor for usize

1.74.0 · Source§

impl BitXor for Saturating<i8>

1.74.0 · Source§

impl BitXor for Saturating<i16>

1.74.0 · Source§

impl BitXor for Saturating<i32>

1.74.0 · Source§

impl BitXor for Saturating<i64>

1.74.0 · Source§

impl BitXor for Saturating<i128>

1.74.0 · Source§

impl BitXor for Saturating<isize>

1.74.0 · Source§

impl BitXor for Saturating<u8>

1.74.0 · Source§

impl BitXor for Saturating<u16>

1.74.0 · Source§

impl BitXor for Saturating<u32>

1.74.0 · Source§

impl BitXor for Saturating<u64>

1.74.0 · Source§

impl BitXor for Saturating<u128>

1.74.0 · Source§

impl BitXor for Saturating<usize>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<i8>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<i16>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<i32>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<i64>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<i128>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<isize>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<u8>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<u16>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<u32>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<u64>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<u128>

1.0.0 · Source§

impl BitXor for datex_core::without_std::num::Wrapping<usize>

Source§

impl BitXor for Limb

Source§

impl BitXor for AtFlags

Source§

impl BitXor for FallocateFlags

Source§

impl BitXor for FdFlag

Source§

impl BitXor for OFlag

Source§

impl BitXor for RenameFlags

Source§

impl BitXor for SealFlag

Source§

impl BitXor for SpliceFFlags

Source§

impl BitXor for DeleteModuleFlags

Source§

impl BitXor for ModuleInitFlags

Source§

impl BitXor for MntFlags

Source§

impl BitXor for nix::mount::linux::MsFlags

Source§

impl BitXor for MQ_OFlag

Source§

impl BitXor for InterfaceFlags

Source§

impl BitXor for PollFlags

Source§

impl BitXor for CloneFlags

Source§

impl BitXor for EpollCreateFlags

Source§

impl BitXor for EpollFlags

Source§

impl BitXor for EfdFlags

Source§

impl BitXor for AddWatchFlags

Source§

impl BitXor for InitFlags

Source§

impl BitXor for MemFdCreateFlag

Source§

impl BitXor for MRemapFlags

Source§

impl BitXor for MapFlags

Source§

impl BitXor for MlockAllFlags

Source§

impl BitXor for nix::sys::mman::MsFlags

Source§

impl BitXor for ProtFlags

Source§

impl BitXor for Persona

Source§

impl BitXor for Options

Source§

impl BitXor for QuotaValidFlags

Source§

impl BitXor for SaFlags

Source§

impl BitXor for SfdFlags

Source§

impl BitXor for MsgFlags

Source§

impl BitXor for SockFlag

Source§

impl BitXor for TimestampingFlag

Source§

impl BitXor for Mode

Source§

impl BitXor for SFlag

Source§

impl BitXor for FsFlags

Source§

impl BitXor for ControlFlags

Source§

impl BitXor for InputFlags

Source§

impl BitXor for LocalFlags

Source§

impl BitXor for OutputFlags

Source§

impl BitXor for TimerSetTimeFlags

Source§

impl BitXor for TimerFlags

Source§

impl BitXor for WaitPidFlag

Source§

impl BitXor for AccessFlags

Source§

impl BitXor for num_bigint_dig::bigint::BigInt

Source§

impl BitXor for num_bigint_dig::biguint::BigUint

Source§

impl BitXor for num_bigint::bigint::BigInt

Source§

impl BitXor for num_bigint::biguint::BigUint

Source§

impl BitXor for CipherCtxFlags

Source§

impl BitXor for CMSOptions

Source§

impl BitXor for OcspFlag

Source§

impl BitXor for Pkcs7Flags

Source§

impl BitXor for ExtensionContext

Source§

impl BitXor for ShutdownState

Source§

impl BitXor for SslMode

Source§

impl BitXor for SslOptions

Source§

impl BitXor for SslSessionCacheMode

Source§

impl BitXor for SslVerifyMode

Source§

impl BitXor for X509CheckFlags

Source§

impl BitXor for X509VerifyFlags

Source§

impl BitXor for Choice

Source§

impl BitXor for FontStyle

Source§

impl BitXor for B0

Xor between 0 and 0 ( 0 ^ 0 = 0)

Source§

impl BitXor for B1

Xor between 1 and 1 ( 1 ^ 1 = 0)

1.0.0 · Source§

impl BitXor<&bool> for &bool

1.0.0 · Source§

impl BitXor<&bool> for bool

1.0.0 · Source§

impl BitXor<&i8> for &i8

1.0.0 · Source§

impl BitXor<&i8> for i8

1.0.0 · Source§

impl BitXor<&i16> for &i16

1.0.0 · Source§

impl BitXor<&i16> for i16

1.0.0 · Source§

impl BitXor<&i32> for &i32

1.0.0 · Source§

impl BitXor<&i32> for i32

1.0.0 · Source§

impl BitXor<&i64> for &i64

1.0.0 · Source§

impl BitXor<&i64> for i64

1.0.0 · Source§

impl BitXor<&i128> for &i128

1.0.0 · Source§

impl BitXor<&i128> for i128

1.0.0 · Source§

impl BitXor<&isize> for &isize

1.0.0 · Source§

impl BitXor<&isize> for isize

1.0.0 · Source§

impl BitXor<&u8> for &u8

1.0.0 · Source§

impl BitXor<&u8> for u8

1.0.0 · Source§

impl BitXor<&u16> for &u16

1.0.0 · Source§

impl BitXor<&u16> for u16

1.0.0 · Source§

impl BitXor<&u32> for &u32

1.0.0 · Source§

impl BitXor<&u32> for u32

1.0.0 · Source§

impl BitXor<&u64> for &u64

1.0.0 · Source§

impl BitXor<&u64> for u64

1.0.0 · Source§

impl BitXor<&u128> for &u128

1.0.0 · Source§

impl BitXor<&u128> for u128

1.0.0 · Source§

impl BitXor<&usize> for &usize

1.0.0 · Source§

impl BitXor<&usize> for usize

1.74.0 · Source§

impl BitXor<&Saturating<i8>> for &Saturating<i8>

1.74.0 · Source§

impl BitXor<&Saturating<i8>> for Saturating<i8>

1.74.0 · Source§

impl BitXor<&Saturating<i16>> for &Saturating<i16>

1.74.0 · Source§

impl BitXor<&Saturating<i16>> for Saturating<i16>

1.74.0 · Source§

impl BitXor<&Saturating<i32>> for &Saturating<i32>

1.74.0 · Source§

impl BitXor<&Saturating<i32>> for Saturating<i32>

1.74.0 · Source§

impl BitXor<&Saturating<i64>> for &Saturating<i64>

1.74.0 · Source§

impl BitXor<&Saturating<i64>> for Saturating<i64>

1.74.0 · Source§

impl BitXor<&Saturating<i128>> for &Saturating<i128>

1.74.0 · Source§

impl BitXor<&Saturating<i128>> for Saturating<i128>

1.74.0 · Source§

impl BitXor<&Saturating<isize>> for &Saturating<isize>

1.74.0 · Source§

impl BitXor<&Saturating<isize>> for Saturating<isize>

1.74.0 · Source§

impl BitXor<&Saturating<u8>> for &Saturating<u8>

1.74.0 · Source§

impl BitXor<&Saturating<u8>> for Saturating<u8>

1.74.0 · Source§

impl BitXor<&Saturating<u16>> for &Saturating<u16>

1.74.0 · Source§

impl BitXor<&Saturating<u16>> for Saturating<u16>

1.74.0 · Source§

impl BitXor<&Saturating<u32>> for &Saturating<u32>

1.74.0 · Source§

impl BitXor<&Saturating<u32>> for Saturating<u32>

1.74.0 · Source§

impl BitXor<&Saturating<u64>> for &Saturating<u64>

1.74.0 · Source§

impl BitXor<&Saturating<u64>> for Saturating<u64>

1.74.0 · Source§

impl BitXor<&Saturating<u128>> for &Saturating<u128>

1.74.0 · Source§

impl BitXor<&Saturating<u128>> for Saturating<u128>

1.74.0 · Source§

impl BitXor<&Saturating<usize>> for &Saturating<usize>

1.74.0 · Source§

impl BitXor<&Saturating<usize>> for Saturating<usize>

1.14.0 · Source§

impl BitXor<&Wrapping<i8>> for &datex_core::without_std::num::Wrapping<i8>

1.14.0 · Source§

impl BitXor<&Wrapping<i8>> for datex_core::without_std::num::Wrapping<i8>

1.14.0 · Source§

impl BitXor<&Wrapping<i16>> for &datex_core::without_std::num::Wrapping<i16>

1.14.0 · Source§

impl BitXor<&Wrapping<i16>> for datex_core::without_std::num::Wrapping<i16>

1.14.0 · Source§

impl BitXor<&Wrapping<i32>> for &datex_core::without_std::num::Wrapping<i32>

1.14.0 · Source§

impl BitXor<&Wrapping<i32>> for datex_core::without_std::num::Wrapping<i32>

1.14.0 · Source§

impl BitXor<&Wrapping<i64>> for &datex_core::without_std::num::Wrapping<i64>

1.14.0 · Source§

impl BitXor<&Wrapping<i64>> for datex_core::without_std::num::Wrapping<i64>

1.14.0 · Source§

impl BitXor<&Wrapping<i128>> for &datex_core::without_std::num::Wrapping<i128>

1.14.0 · Source§

impl BitXor<&Wrapping<i128>> for datex_core::without_std::num::Wrapping<i128>

1.14.0 · Source§

impl BitXor<&Wrapping<isize>> for &datex_core::without_std::num::Wrapping<isize>

1.14.0 · Source§

impl BitXor<&Wrapping<isize>> for datex_core::without_std::num::Wrapping<isize>

1.14.0 · Source§

impl BitXor<&Wrapping<u8>> for &datex_core::without_std::num::Wrapping<u8>

1.14.0 · Source§

impl BitXor<&Wrapping<u8>> for datex_core::without_std::num::Wrapping<u8>

1.14.0 · Source§

impl BitXor<&Wrapping<u16>> for &datex_core::without_std::num::Wrapping<u16>

1.14.0 · Source§

impl BitXor<&Wrapping<u16>> for datex_core::without_std::num::Wrapping<u16>

1.14.0 · Source§

impl BitXor<&Wrapping<u32>> for &datex_core::without_std::num::Wrapping<u32>

1.14.0 · Source§

impl BitXor<&Wrapping<u32>> for datex_core::without_std::num::Wrapping<u32>

1.14.0 · Source§

impl BitXor<&Wrapping<u64>> for &datex_core::without_std::num::Wrapping<u64>

1.14.0 · Source§

impl BitXor<&Wrapping<u64>> for datex_core::without_std::num::Wrapping<u64>

1.14.0 · Source§

impl BitXor<&Wrapping<u128>> for &datex_core::without_std::num::Wrapping<u128>

1.14.0 · Source§

impl BitXor<&Wrapping<u128>> for datex_core::without_std::num::Wrapping<u128>

1.14.0 · Source§

impl BitXor<&Wrapping<usize>> for &datex_core::without_std::num::Wrapping<usize>

1.14.0 · Source§

impl BitXor<&Wrapping<usize>> for datex_core::without_std::num::Wrapping<usize>

Source§

impl BitXor<&BigInt> for &num_bigint::bigint::BigInt

Source§

impl BitXor<&BigInt> for num_bigint::bigint::BigInt

Source§

impl BitXor<&BigUint> for &num_bigint::biguint::BigUint

Source§

impl BitXor<&BigUint> for num_bigint::biguint::BigUint

Source§

impl BitXor<BigInt> for &num_bigint::bigint::BigInt

Source§

impl BitXor<BigUint> for &num_bigint::biguint::BigUint

Source§

impl BitXor<B0> for B1

Xor between 1 and 0 ( 1 ^ 0 = 1)

Source§

impl BitXor<B1> for B0

Xor between 0 and 1 ( 0 ^ 1 = 1)

Source§

impl<'a> BitXor<&'a BigInt> for num_bigint_dig::bigint::BigInt

Source§

impl<'a> BitXor<&'a BigUint> for num_bigint_dig::biguint::BigUint

1.0.0 · Source§

impl<'a> BitXor<bool> for &'a bool

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.74.0 · Source§

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

1.14.0 · Source§

impl<'a> BitXor<Wrapping<i8>> for &'a datex_core::without_std::num::Wrapping<i8>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<i16>> for &'a datex_core::without_std::num::Wrapping<i16>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<i32>> for &'a datex_core::without_std::num::Wrapping<i32>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<i64>> for &'a datex_core::without_std::num::Wrapping<i64>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<i128>> for &'a datex_core::without_std::num::Wrapping<i128>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<isize>> for &'a datex_core::without_std::num::Wrapping<isize>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<u8>> for &'a datex_core::without_std::num::Wrapping<u8>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<u16>> for &'a datex_core::without_std::num::Wrapping<u16>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<u32>> for &'a datex_core::without_std::num::Wrapping<u32>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<u64>> for &'a datex_core::without_std::num::Wrapping<u64>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<u128>> for &'a datex_core::without_std::num::Wrapping<u128>

1.14.0 · Source§

impl<'a> BitXor<Wrapping<usize>> for &'a datex_core::without_std::num::Wrapping<usize>

Source§

impl<'a> BitXor<BigInt> for &'a num_bigint_dig::bigint::BigInt

Source§

impl<'a> BitXor<BigUint> for &'a num_bigint_dig::biguint::BigUint

Source§

impl<'a, 'b> BitXor<&'b BigInt> for &'a num_bigint_dig::bigint::BigInt

Source§

impl<'a, 'b> BitXor<&'b BigUint> for &'a num_bigint_dig::biguint::BigUint

Source§

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

Source§

type Output = Simd<T, N>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

1.0.0 · Source§

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

Source§

impl<T, S1, S2> BitXor<&IndexSet<T, S2>> for &IndexSet<T, S1>
where T: Eq + Hash + Clone, S1: BuildHasher + Default, S2: BuildHasher,

Source§

type Output = IndexSet<T, S1>

Source§

impl<T, S1, S2> BitXor<&RingSet<T, S2>> for &RingSet<T, S1>
where T: Eq + Hash + Clone, S1: BuildHasher + Default, S2: BuildHasher,

Source§

type Output = RingSet<T, S1>

1.0.0 · Source§

impl<T, S> BitXor<&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, S, A> BitXor<&HashSet<T, S, A>> for &hashbrown::set::HashSet<T, S, A>
where T: Eq + Hash + Clone, S: BuildHasher + Default, A: Allocator + Default,

Source§

type Output = HashSet<T, S, A>

Source§

impl<T, const N: usize> BitXor for Mask<T, N>

Source§

type Output = Mask<T, N>

Source§

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

Source§

type Output = Simd<T, N>

Source§

impl<T, const N: usize> BitXor<bool> for Mask<T, N>

Source§

type Output = Mask<T, N>

Source§

impl<T, const N: usize> BitXor<Mask<T, N>> for bool

Source§

type Output = Mask<T, N>

Source§

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

Source§

type Output = Simd<T, N>

Source§

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

Xoring unsigned integers. We use our PrivateXor operator and then Trim the output.

Source§

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

Source§

impl<Ur> BitXor<Ur> for UTerm
where Ur: Unsigned,

0 ^ X = X

Source§

type Output = Ur

Source§

impl<const LIMBS: usize> BitXor for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize> BitXor for crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>

Source§

impl<const LIMBS: usize> BitXor<&Uint<LIMBS>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize> BitXor<&Uint<LIMBS>> for Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize> BitXor<&Wrapping<Uint<LIMBS>>> for &crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>

Source§

impl<const LIMBS: usize> BitXor<&Wrapping<Uint<LIMBS>>> for crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>

Source§

impl<const LIMBS: usize> BitXor<Uint<LIMBS>> for &Uint<LIMBS>

Source§

type Output = Uint<LIMBS>

Source§

impl<const LIMBS: usize> BitXor<Wrapping<Uint<LIMBS>>> for &crypto_bigint::wrapping::Wrapping<Uint<LIMBS>>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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