# Type Alias typenum::generated::consts::U544

``pub type U544 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, B0>, B0>;``

## Aliased Type§

``````struct U544 {
pub(crate) msb: UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, B0>,
pub(crate) lsb: B0,
}``````

## Fields§

§`msb: UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B1>, B0>, B0>, B0>, B0>`

The more significant bits of `Self`.

§`lsb: B0`

The least significant bit of `Self`.

## Implementations§

source§

### impl<U: Unsigned, B: Bit> UInt<U, B>

source

#### pub fn new() -> UInt<U, B>

Instantiates a singleton representing this unsigned integer.

## Trait Implementations§

source§

### impl<U: Unsigned, B: Bit> Add<B0> for UInt<U, B>

`U + B0 = U`

§

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

The resulting type after applying the `+` operator.
source§

#### fn add(self, _: B0) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<U: Unsigned> Add<B1> for UInt<U, B0>

`UInt<U, B0> + B1 = UInt<U + B1>`

§

#### type Output = UInt<U, B1>

The resulting type after applying the `+` operator.
source§

#### fn add(self, _: B1) -> Self::Output

Performs the `+` operation. Read more
source§

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

`UInt<Ul, B0> + UInt<Ur, B0> = UInt<Ul + Ur, B0>`

§

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

The resulting type after applying the `+` operator.
source§

#### fn add(self, rhs: UInt<Ur, B0>) -> Self::Output

Performs the `+` operation. Read more
source§

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

`UInt<Ul, B0> + UInt<Ur, B1> = UInt<Ul + Ur, B1>`

§

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

The resulting type after applying the `+` operator.
source§

#### fn add(self, rhs: UInt<Ur, B1>) -> Self::Output

Performs the `+` operation. Read more
source§

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

`UInt<U, B> + UTerm = UInt<U, B>`

§

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

The resulting type after applying the `+` operator.
source§

#### fn add(self, _: UTerm) -> Self::Output

Performs the `+` operation. Read more
source§

### impl<Ul: Unsigned, Bl: Bit, Ur: Unsigned> BitAnd<Ur> for UInt<Ul, Bl>where UInt<Ul, Bl>: PrivateAnd<Ur>, PrivateAndOut<UInt<Ul, Bl>, Ur>: Trim,

Anding unsigned integers. We use our `PrivateAnd` operator and then `Trim` the output.

§

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

The resulting type after applying the `&` operator.
source§

#### fn bitand(self, rhs: Ur) -> Self::Output

Performs the `&` operation. Read more
source§

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

`UInt<Ul, B0> | UInt<Ur, B0> = UInt<Ul | Ur, B0>`

§

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

The resulting type after applying the `|` operator.
source§

#### fn bitor(self, rhs: UInt<Ur, B0>) -> Self::Output

Performs the `|` operation. Read more
source§

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

`UInt<Ul, B0> | UInt<Ur, B1> = UInt<Ul | Ur, B1>`

§

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

The resulting type after applying the `|` operator.
source§

#### fn bitor(self, rhs: UInt<Ur, B1>) -> Self::Output

Performs the `|` operation. Read more
source§

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

`X | UTerm = X`

§

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

The resulting type after applying the `|` operator.
source§

#### fn bitor(self, _: UTerm) -> Self::Output

Performs the `|` operation. Read more
source§

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

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

§

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

The resulting type after applying the `^` operator.
source§

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

Performs the `^` operation. Read more
source§

### impl<U: Clone, B: Clone> Clone for UInt<U, B>

source§

#### fn clone(&self) -> UInt<U, B>

Returns a copy of the value. Read more
1.0.0 · source§

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more
source§

### impl<Ul, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B0>where Ul: PrivateCmp<Ur, Equal> + Unsigned,

`UInt<Ul, B0>` cmp with `UInt<Ur, B0>`: `SoFar` is `Equal`

§

#### type Output = <Ul as PrivateCmp<Ur, Equal>>::Output

The result of the comparison. It should only ever be one of `Greater`, `Less`, or `Equal`.
source§

### impl<Ul, Ur: Unsigned> Cmp<UInt<Ur, B1>> for UInt<Ul, B0>where Ul: PrivateCmp<Ur, Less> + Unsigned,

`UInt<Ul, B0>` cmp with `UInt<Ur, B1>`: `SoFar` is `Less`

§

#### type Output = <Ul as PrivateCmp<Ur, Less>>::Output

The result of the comparison. It should only ever be one of `Greater`, `Less`, or `Equal`.
source§

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

Nonzero > Zero

§

#### type Output = Greater

The result of the comparison. It should only ever be one of `Greater`, `Less`, or `Equal`.
source§

### impl<U: Debug, B: Debug> Debug for UInt<U, B>

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

### impl<U: Default, B: Default> Default for UInt<U, B>

source§

#### fn default() -> UInt<U, B>

Returns the “default value” for a type. Read more
source§

### impl<Ul: Unsigned, Bl: Bit, Ur: Unsigned, Br: Bit> Div<UInt<Ur, Br>> for UInt<Ul, Bl>where UInt<Ul, Bl>: Len, Length<UInt<Ul, Bl>>: Sub<B1>, (): PrivateDiv<UInt<Ul, Bl>, UInt<Ur, Br>, U0, U0, Sub1<Length<UInt<Ul, Bl>>>>,

§

#### type Output = <() as PrivateDiv<UInt<Ul, Bl>, UInt<Ur, Br>, UTerm, UTerm, <<UInt<Ul, Bl> as Len>::Output as Sub<B1>>::Output>>::Quotient

The resulting type after applying the `/` operator.
source§

#### fn div(self, rhs: UInt<Ur, Br>) -> Self::Output

Performs the `/` operation. Read more
source§

### impl<Xp, Yp> Gcd<UInt<Yp, B0>> for UInt<Xp, B0>where Xp: Gcd<Yp>, UInt<Xp, B0>: NonZero, UInt<Yp, B0>: NonZero,

gcd(x, y) = 2*gcd(x/2, y/2) if both x and y even

§

#### type Output = UInt<<Xp as Gcd<Yp>>::Output, B0>

The greatest common divisor.
source§

### impl<Xp, Yp> Gcd<UInt<Yp, B1>> for UInt<Xp, B0>where Xp: Gcd<UInt<Yp, B1>>, UInt<Xp, B0>: NonZero,

gcd(x, y) = gcd(x/2, y) if x even and y odd

§

#### type Output = <Xp as Gcd<UInt<Yp, B1>>>::Output

The greatest common divisor.
source§

§

source§

§

source§

### impl<U: Hash, B: Hash> Hash for UInt<U, B>

source§

#### fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given `Hasher`. Read more
1.3.0 · source§

#### fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given `Hasher`. Read more
source§

### impl<U, B: Bit> Len for UInt<U, B>where U: Len + Unsigned, Length<U>: Add<B1>, Add1<Length<U>>: Unsigned,

Length of a bit is 1

§

#### type Output = <<U as Len>::Output as Add<B1>>::Output

The length as a type-level unsigned integer.
source§

#### fn len(&self) -> Self::Output

This function isn’t used in this crate, but may be useful for others.
source§

### impl<U, B, Ur> Max<Ur> for UInt<U, B>where U: Unsigned, B: Bit, Ur: Unsigned, UInt<U, B>: Cmp<Ur> + PrivateMax<Ur, Compare<UInt<U, B>, Ur>>,

§

#### type Output = <UInt<U, B> as PrivateMax<Ur, <UInt<U, B> as Cmp<Ur>>::Output>>::Output

The type of the maximum of `Self` and `Rhs`
source§

#### fn max(self, rhs: Ur) -> Self::Output

Method returning the maximum
source§

### impl<U, B, Ur> Min<Ur> for UInt<U, B>where U: Unsigned, B: Bit, Ur: Unsigned, UInt<U, B>: Cmp<Ur> + PrivateMin<Ur, Compare<UInt<U, B>, Ur>>,

§

#### type Output = <UInt<U, B> as PrivateMin<Ur, <UInt<U, B> as Cmp<Ur>>::Output>>::Output

The type of the minimum of `Self` and `Rhs`
source§

#### fn min(self, rhs: Ur) -> Self::Output

Method returning the minimum
source§

### impl<U: Unsigned, B: Bit> Mul<B0> for UInt<U, B>

`UInt * B0 = UTerm`

§

#### type Output = UTerm

The resulting type after applying the `*` operator.
source§

#### fn mul(self, _: B0) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<U: Unsigned, B: Bit> Mul<B1> for UInt<U, B>

`UInt * B1 = UInt`

§

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

The resulting type after applying the `*` operator.
source§

#### fn mul(self, _: B1) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<Ul, B: Bit, Ur: Unsigned> Mul<UInt<Ur, B>> for UInt<Ul, B0>where Ul: Mul<UInt<Ur, B>> + Unsigned,

`UInt<Ul, B0> * UInt<Ur, B> = UInt<(Ul * UInt<Ur, B>), B0>`

§

#### type Output = UInt<<Ul as Mul<UInt<Ur, B>>>::Output, B0>

The resulting type after applying the `*` operator.
source§

#### fn mul(self, rhs: UInt<Ur, B>) -> Self::Output

Performs the `*` operation. Read more
source§

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

`UInt<U, B> * UTerm = UTerm`

§

#### type Output = UTerm

The resulting type after applying the `*` operator.
source§

#### fn mul(self, _: UTerm) -> Self::Output

Performs the `*` operation. Read more
source§

### impl<U: Ord, B: Ord> Ord for UInt<U, B>

source§

#### fn cmp(&self, other: &UInt<U, B>) -> Ordering

This method returns an `Ordering` between `self` and `other`. Read more
1.21.0 · source§

#### fn max(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · source§

#### fn min(self, other: Self) -> Selfwhere Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · source§

#### fn clamp(self, min: Self, max: Self) -> Selfwhere Self: Sized + PartialOrd<Self>,

Restrict a value to a certain interval. Read more
source§

### impl<Ul: Unsigned, Bl: Bit, Ur: Unsigned, Br: Bit> PartialDiv<UInt<Ur, Br>> for UInt<Ul, Bl>where UInt<Ul, Bl>: Div<UInt<Ur, Br>> + Rem<UInt<Ur, Br>, Output = U0>,

§

#### type Output = <UInt<Ul, Bl> as Div<UInt<Ur, Br>>>::Output

The type of the result of the division
source§

#### fn partial_div(self, rhs: UInt<Ur, Br>) -> Self::Output

Method for performing the division
source§

### impl<U: PartialEq, B: PartialEq> PartialEq<UInt<U, B>> for UInt<U, B>

source§

#### fn eq(&self, other: &UInt<U, B>) -> bool

This method tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0 · source§

#### fn ne(&self, other: &Rhs) -> bool

This method tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

### impl<U: PartialOrd, B: PartialOrd> PartialOrd<UInt<U, B>> for UInt<U, B>

source§

#### fn partial_cmp(&self, other: &UInt<U, B>) -> Option<Ordering>

This method returns an ordering between `self` and `other` values if one exists. Read more
1.0.0 · source§

#### fn lt(&self, other: &Rhs) -> bool

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more
1.0.0 · source§

#### fn le(&self, other: &Rhs) -> bool

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more
1.0.0 · source§

#### fn gt(&self, other: &Rhs) -> bool

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more
1.0.0 · source§

#### fn ge(&self, other: &Rhs) -> bool

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more
source§

### impl<Ul: Unsigned, Bl: Bit, Ur: Unsigned, Br: Bit> Rem<UInt<Ur, Br>> for UInt<Ul, Bl>where UInt<Ul, Bl>: Len, Length<UInt<Ul, Bl>>: Sub<B1>, (): PrivateDiv<UInt<Ul, Bl>, UInt<Ur, Br>, U0, U0, Sub1<Length<UInt<Ul, Bl>>>>,

§

#### type Output = <() as PrivateDiv<UInt<Ul, Bl>, UInt<Ur, Br>, UTerm, UTerm, <<UInt<Ul, Bl> as Len>::Output as Sub<B1>>::Output>>::Remainder

The resulting type after applying the `%` operator.
source§

#### fn rem(self, rhs: UInt<Ur, Br>) -> Self::Output

Performs the `%` operation. Read more
source§

### impl<U: Unsigned, B: Bit> Shl<B0> for UInt<U, B>

Shifting left any unsigned by a zero bit: `U << B0 = U`

§

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

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, _: B0) -> Self::Output

Performs the `<<` operation. Read more
source§

### impl<U: Unsigned, B: Bit> Shl<B1> for UInt<U, B>

Shifting left a `UInt` by a one bit: `UInt<U, B> << B1 = UInt<UInt<U, B>, B0>`

§

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

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, _: B1) -> Self::Output

Performs the `<<` operation. Read more
source§

### impl<U: Unsigned, B: Bit, Ur: Unsigned, Br: Bit> Shl<UInt<Ur, Br>> for UInt<U, B>where UInt<Ur, Br>: Sub<B1>, UInt<UInt<U, B>, B0>: Shl<Sub1<UInt<Ur, Br>>>,

Shifting left `UInt` by `UInt`: `X << Y` = `UInt(X, B0) << (Y - 1)`

§

#### type Output = <UInt<UInt<U, B>, B0> as Shl<<UInt<Ur, Br> as Sub<B1>>::Output>>::Output

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, rhs: UInt<Ur, Br>) -> Self::Output

Performs the `<<` operation. Read more
source§

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

Shifting left `UInt` by `UTerm`: `UInt<U, B> << UTerm = UInt<U, B>`

§

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

The resulting type after applying the `<<` operator.
source§

#### fn shl(self, _: UTerm) -> Self::Output

Performs the `<<` operation. Read more
source§

### impl<U: Unsigned, B: Bit> Shr<B0> for UInt<U, B>

Shifting right any unsigned by a zero bit: `U >> B0 = U`

§

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

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, _: B0) -> Self::Output

Performs the `>>` operation. Read more
source§

### impl<U: Unsigned, B: Bit> Shr<B1> for UInt<U, B>

Shifting right a `UInt` by a 1 bit: `UInt<U, B> >> B1 = U`

§

#### type Output = U

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, _: B1) -> Self::Output

Performs the `>>` operation. Read more
source§

### impl<U, B: Bit, Ur: Unsigned, Br: Bit> Shr<UInt<Ur, Br>> for UInt<U, B>where UInt<Ur, Br>: Sub<B1>, U: Shr<Sub1<UInt<Ur, Br>>> + Unsigned,

Shifting right `UInt` by `UInt`: `UInt(U, B) >> Y` = `U >> (Y - 1)`

§

#### type Output = <U as Shr<<UInt<Ur, Br> as Sub<B1>>::Output>>::Output

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, rhs: UInt<Ur, Br>) -> Self::Output

Performs the `>>` operation. Read more
source§

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

Shifting right `UInt` by `UTerm`: `UInt<U, B> >> UTerm = UInt<U, B>`

§

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

The resulting type after applying the `>>` operator.
source§

#### fn shr(self, _: UTerm) -> Self::Output

Performs the `>>` operation. Read more
source§

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

`UInt - B0 = UInt`

§

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

The resulting type after applying the `-` operator.
source§

#### fn sub(self, _: B0) -> Self::Output

Performs the `-` operation. Read more
source§

### impl<U> Sub<B1> for UInt<U, B0>where U: Sub<B1> + Unsigned, Sub1<U>: Unsigned,

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

§

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

The resulting type after applying the `-` operator.
source§

#### fn sub(self, _: B1) -> Self::Output

Performs the `-` operation. Read more
source§

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

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

§

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

The resulting type after applying the `-` operator.
source§

#### fn sub(self, rhs: Ur) -> Self::Output

Performs the `-` operation. Read more
source§

### impl<U, B> ToInt<i16> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> i16

Method returning the concrete value for the type.
source§

#### const INT: i16 = Self::I16

The concrete value for the type. Can be used in `const` contexts.
source§

### impl<U, B> ToInt<i32> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> i32

Method returning the concrete value for the type.
source§

#### const INT: i32 = Self::I32

The concrete value for the type. Can be used in `const` contexts.
source§

### impl<U, B> ToInt<i64> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> i64

Method returning the concrete value for the type.
source§

#### const INT: i64 = Self::I64

The concrete value for the type. Can be used in `const` contexts.
source§

### impl<U, B> ToInt<i8> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> i8

Method returning the concrete value for the type.
source§

#### const INT: i8 = Self::I8

The concrete value for the type. Can be used in `const` contexts.
source§

### impl<U, B> ToInt<u16> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> u16

Method returning the concrete value for the type.
source§

#### const INT: u16 = Self::U16

The concrete value for the type. Can be used in `const` contexts.
source§

### impl<U, B> ToInt<u32> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> u32

Method returning the concrete value for the type.
source§

#### const INT: u32 = Self::U32

The concrete value for the type. Can be used in `const` contexts.
source§

### impl<U, B> ToInt<u64> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> u64

Method returning the concrete value for the type.
source§

#### const INT: u64 = Self::U64

The concrete value for the type. Can be used in `const` contexts.
source§

### impl<U, B> ToInt<u8> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> u8

Method returning the concrete value for the type.
source§

#### const INT: u8 = Self::U8

The concrete value for the type. Can be used in `const` contexts.
source§

### impl<U, B> ToInt<usize> for UInt<U, B>where U: Unsigned, B: Bit,

source§

#### fn to_int() -> usize

Method returning the concrete value for the type.
source§

#### const INT: usize = Self::USIZE

The concrete value for the type. Can be used in `const` contexts.
source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§

source§