pub type U389 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>, B1>, B0>, B1>;Aliased Type§
pub struct U389 { /* private fields */ }Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 0 bytes
Implementations
Trait Implementations
Source§impl<Ul, Ur> Add<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> + UInt<Ur, B0> = UInt<Ul + Ur, 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>
UInt<Ul, B1> + UInt<Ur, B1> = UInt<(Ul + Ur) + B1, B0>
impl<Ul, Ur> Add<UInt<Ur, B1>> for UInt<Ul, B1>
UInt<Ul, B1> + UInt<Ur, B1> = UInt<(Ul + Ur) + B1, B0>
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>
Anding unsigned integers.
We use our PrivateAnd operator and then Trim the output.
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<Ul, Ur> BitOr<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> | UInt<Ur, B0> = UInt<Ul | Ur, 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, Ur> BitOr<UInt<Ur, B1>> for UInt<Ul, B1>
UInt<Ul, B1> | UInt<Ur, B1> = UInt<Ul | Ur, 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, Bl, Ur> BitXor<Ur> for UInt<Ul, Bl>
Xoring unsigned integers.
We use our PrivateXor operator and then Trim the output.
impl<Ul, Bl, Ur> BitXor<Ur> for UInt<Ul, Bl>
Xoring unsigned integers.
We use our PrivateXor operator and then Trim the output.
Source§impl<Ul, Ur> Cmp<UInt<Ur, B0>> for UInt<Ul, B1>
UInt<Ul, B1> cmp with UInt<Ur, B0>: SoFar is Greater
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>
UInt<Ul, B1> cmp with UInt<Ur, B1>: SoFar is Equal
impl<Ul, Ur> Cmp<UInt<Ur, B1>> for UInt<Ul, B1>
UInt<Ul, B1> cmp with UInt<Ur, B1>: SoFar is Equal
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<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
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, 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>
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<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, Bl, Ur, Br> PartialDiv<UInt<Ur, Br>> for UInt<Ul, Bl>
impl<Ul, Bl, Ur, Br> PartialDiv<UInt<Ur, Br>> for UInt<Ul, Bl>
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,
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<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> Shl<B1> for UInt<U, B>
Shifting left a UInt by a one bit: UInt<U, B> << B1 = UInt<UInt<U, B>, B0>
Source§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)
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<UTerm> for UInt<U, B>
Shifting left UInt by UTerm: UInt<U, B> << UTerm = 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> Shr<UInt<Ur, Br>> for UInt<U, B>
Shifting right UInt by UInt: UInt(U, B) >> Y = U >> (Y - 1)
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> Shr<UTerm> for UInt<U, B>
Shifting right UInt by UTerm: UInt<U, B> >> UTerm = 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<Ul, Bl, Ur> Sub<Ur> for UInt<Ul, Bl>
Subtracting unsigned integers. We just do our PrivateSub and then Trim the output.
impl<Ul, Bl, Ur> Sub<Ur> for UInt<Ul, Bl>
Subtracting unsigned integers. We just do our PrivateSub and then Trim the output.