pub type U237 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B1>, B0>, B1>, B1>, B0>, B1>;
Aliased Type§
struct U237 { /* private fields */ }
Implementations
Trait Implementations
source§impl<T, N> ArrayLength<T> for UInt<N, B1>where
N: ArrayLength<T>,
impl<T, N> ArrayLength<T> for UInt<N, B1>where
N: ArrayLength<T>,
source§impl<Ul, Bl, Ur> BitAnd<Ur> for UInt<Ul, Bl>
impl<Ul, Bl, Ur> BitAnd<Ur> for UInt<Ul, Bl>
Anding unsigned integers.
We use our PrivateAnd
operator and then Trim
the output.
source§impl<U, B> Shr<UTerm> for UInt<U, B>
impl<U, B> Shr<UTerm> for UInt<U, B>
Shifting right UInt
by UTerm
: UInt<U, B> >> UTerm = UInt<U, B>
source§impl<U, B, Ur, Br> Shr<UInt<Ur, Br>> for UInt<U, B>
impl<U, B, Ur, Br> Shr<UInt<Ur, Br>> for UInt<U, B>
Shifting right UInt
by UInt
: UInt(U, B) >> Y
= U >> (Y - 1)
source§impl<U, B> Ord for UInt<U, B>
impl<U, B> Ord for UInt<U, B>
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl<Ul, Ur> Cmp<UInt<Ur, B0>> for UInt<Ul, B1>
impl<Ul, Ur> Cmp<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1>
cmp with UInt<Ur, B0>
: SoFar
is Greater
source§impl<Ul, Ur> Cmp<UInt<Ur, B1>> for UInt<Ul, B1>
impl<Ul, Ur> Cmp<UInt<Ur, B1>> for UInt<Ul, B1>
UInt<Ul, B1>
cmp with UInt<Ur, B1>
: SoFar
is Equal
impl<U, B> NonZero for UInt<U, B>
source§impl<Xp, Yp> Gcd<UInt<Yp, B1>> for UInt<Xp, B1>where
UInt<Xp, B1>: Max<UInt<Yp, B1>> + Min<UInt<Yp, B1>>,
UInt<Yp, B1>: Max<UInt<Xp, B1>> + Min<UInt<Xp, B1>>,
<UInt<Xp, B1> as Max<UInt<Yp, B1>>>::Output: Sub<<UInt<Xp, B1> as Min<UInt<Yp, B1>>>::Output>,
<<UInt<Xp, B1> as Max<UInt<Yp, B1>>>::Output as Sub<<UInt<Xp, B1> as Min<UInt<Yp, B1>>>::Output>>::Output: Gcd<<UInt<Xp, B1> as Min<UInt<Yp, B1>>>::Output>,
impl<Xp, Yp> Gcd<UInt<Yp, B1>> for UInt<Xp, B1>where
UInt<Xp, B1>: Max<UInt<Yp, B1>> + Min<UInt<Yp, B1>>,
UInt<Yp, B1>: Max<UInt<Xp, B1>> + Min<UInt<Xp, B1>>,
<UInt<Xp, B1> as Max<UInt<Yp, B1>>>::Output: Sub<<UInt<Xp, B1> as Min<UInt<Yp, B1>>>::Output>,
<<UInt<Xp, B1> as Max<UInt<Yp, B1>>>::Output as Sub<<UInt<Xp, B1> as Min<UInt<Yp, B1>>>::Output>>::Output: Gcd<<UInt<Xp, B1> as Min<UInt<Yp, B1>>>::Output>,
gcd(x, y) = gcd([max(x, y) - min(x, y)], min(x, y)) if both x and y odd
This will immediately invoke the case for x even and y odd because the difference of two odd numbers is an even number.
source§impl<Ul, Bl, Ur> BitXor<Ur> for UInt<Ul, Bl>
impl<Ul, Bl, Ur> BitXor<Ur> for UInt<Ul, Bl>
Xoring unsigned integers.
We use our PrivateXor
operator and then Trim
the output.
impl<U, B> Copy for UInt<U, B>
source§impl<Ul, Bl, Ur, Br> Rem<UInt<Ur, Br>> for UInt<Ul, Bl>
impl<Ul, Bl, Ur, Br> Rem<UInt<Ur, Br>> for UInt<Ul, Bl>
source§impl<U, B> Shl<UTerm> for UInt<U, B>
impl<U, B> Shl<UTerm> for UInt<U, B>
Shifting left UInt
by UTerm
: UInt<U, B> << UTerm = UInt<U, B>
source§impl<U, B, Ur, Br> Shl<UInt<Ur, Br>> for UInt<U, B>
impl<U, B, Ur, Br> Shl<UInt<Ur, Br>> for UInt<U, B>
Shifting left UInt
by UInt
: X << Y
= UInt(X, B0) << (Y - 1)
source§impl<U, B> Shl<B1> for UInt<U, B>
impl<U, B> Shl<B1> for UInt<U, B>
Shifting left a UInt
by a one bit: UInt<U, B> << B1 = UInt<UInt<U, B>, B0>
impl<U, B> StructuralPartialEq for UInt<U, B>
source§impl<U, B> PartialOrd for UInt<U, B>where
U: PartialOrd,
B: PartialOrd,
impl<U, B> PartialOrd for UInt<U, B>where
U: PartialOrd,
B: PartialOrd,
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl<Ul, B, Ur> Mul<UInt<Ur, B>> for UInt<Ul, B1>
impl<Ul, B, Ur> Mul<UInt<Ur, B>> for UInt<Ul, B1>
UInt<Ul, B1> * UInt<Ur, B> = UInt<(Ul * UInt<Ur, B>), B0> + UInt<Ur, B>
source§impl<Ul, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B1>
impl<Ul, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B1>
UInt<Ul, B1> | UInt<Ur, B1> = UInt<Ul | Ur, B1>
source§impl<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B1>
impl<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> | UInt<Ur, B0> = UInt<Ul | Ur, B1>
source§impl<Ul, Bl, Ur, Br> PartialDiv<UInt<Ur, Br>> for UInt<Ul, Bl>
impl<Ul, Bl, Ur, Br> PartialDiv<UInt<Ur, Br>> for UInt<Ul, Bl>
impl<U, B> Eq for UInt<U, B>
source§impl<Ul, Bl, Ur, Br> Div<UInt<Ur, Br>> for UInt<Ul, Bl>
impl<Ul, Bl, Ur, Br> Div<UInt<Ur, Br>> for UInt<Ul, Bl>
source§impl<Ul, Ur> Add<UInt<Ur, B0>> for UInt<Ul, B1>
impl<Ul, Ur> Add<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> + UInt<Ur, B0> = UInt<Ul + Ur, B1>
source§impl<Ul, Ur> Add<UInt<Ur, B1>> for UInt<Ul, B1>
impl<Ul, Ur> Add<UInt<Ur, B1>> for UInt<Ul, B1>
UInt<Ul, B1> + UInt<Ur, B1> = UInt<(Ul + Ur) + B1, B0>
source§impl<U, B> PartialEq for UInt<U, B>
impl<U, B> PartialEq for UInt<U, B>
source§impl<U, B> Unsigned for UInt<U, B>
impl<U, B> Unsigned for UInt<U, B>
const U8: u8 = _
const U16: u16 = _
const U32: u32 = _
const U64: u64 = _
const USIZE: usize = _
const I8: i8 = _
const I16: i16 = _
const I32: i32 = _
const I64: i64 = _
const ISIZE: isize = _
fn to_u8() -> u8
fn to_u16() -> u16
fn to_u32() -> u32
fn to_u64() -> u64
fn to_usize() -> usize
fn to_i8() -> i8
fn to_i16() -> i16
fn to_i32() -> i32
fn to_i64() -> i64
fn to_isize() -> isize
source§impl<Ul, Bl, Ur> Sub<Ur> for UInt<Ul, Bl>
impl<Ul, Bl, Ur> Sub<Ur> for UInt<Ul, Bl>
Subtracting unsigned integers. We just do our PrivateSub
and then Trim
the output.