[−][src]Struct typenum::uint::UInt
UInt
is defined recursively, where B
is the least significant bit and U
is the rest
of the number. Conceptually, U
should be bound by the trait Unsigned
and B
should
be bound by the trait Bit
, but enforcing these bounds causes linear instead of
logrithmic scaling in some places, so they are left off for now. They may be enforced in
future.
In order to keep numbers unique, leading zeros are not allowed, so UInt<UTerm, B0>
is
forbidden.
Example
use typenum::{B0, B1, UInt, UTerm}; type U6 = UInt<UInt<UInt<UTerm, B1>, B1>, B0>;
Methods
impl<U: Unsigned, B: Bit> UInt<U, B>
[src]
impl<U: Unsigned, B: Bit> UInt<U, B>
Trait Implementations
impl<U: Unsigned, B: Bit> NonZero for UInt<U, B>
[src]
impl<U: Unsigned, B: Bit> NonZero for UInt<U, B>
impl<U: Unsigned, B: Bit> Unsigned for UInt<U, B>
[src]
impl<U: Unsigned, B: Bit> Unsigned for UInt<U, B>
const U8: u8
[src]
const U16: u16
[src]
const U32: u32
[src]
const U64: u64
[src]
const USIZE: usize
[src]
const I8: i8
[src]
const I16: i16
[src]
const I32: i32
[src]
const I64: i64
[src]
const ISIZE: isize
[src]
fn to_u8() -> u8
[src]
fn to_u8() -> u8
fn to_u16() -> u16
[src]
fn to_u16() -> u16
fn to_u32() -> u32
[src]
fn to_u32() -> u32
fn to_u64() -> u64
[src]
fn to_u64() -> u64
fn to_usize() -> usize
[src]
fn to_usize() -> usize
fn to_i8() -> i8
[src]
fn to_i8() -> i8
fn to_i16() -> i16
[src]
fn to_i16() -> i16
fn to_i32() -> i32
[src]
fn to_i32() -> i32
fn to_i64() -> i64
[src]
fn to_i64() -> i64
fn to_isize() -> isize
[src]
fn to_isize() -> isize
impl PowerOfTwo for UInt<UTerm, B1>
[src]
impl PowerOfTwo for UInt<UTerm, B1>
impl<U: Unsigned + PowerOfTwo> PowerOfTwo for UInt<U, B0>
[src]
impl<U: Unsigned + PowerOfTwo> PowerOfTwo for UInt<U, B0>
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for f32
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for f32
type Output = f32
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for f64
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for f64
type Output = f64
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for u8
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for u8
type Output = u8
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for u16
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for u16
type Output = u16
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for u32
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for u32
type Output = u32
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for u64
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for u64
type Output = u64
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for usize
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for usize
type Output = usize
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for i8
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for i8
type Output = i8
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for i16
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for i16
type Output = i16
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for i32
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for i32
type Output = i32
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for i64
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for i64
type Output = i64
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for isize
[src]
impl<U: Unsigned, B: Bit> Pow<UInt<U, B>> for isize
type Output = isize
The result of the exponentiation.
fn powi(self, _: UInt<U, B>) -> Self::Output
[src]
fn powi(self, _: UInt<U, B>) -> Self::Output
impl<U: Unsigned, B: Bit> Cmp<UTerm> for UInt<U, B>
[src]
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
.
fn compare<IM: InternalMarker>(&self, _: &UTerm) -> Self::Output
[src]
fn compare<IM: InternalMarker>(&self, _: &UTerm) -> Self::Output
impl<U: Unsigned, B: Bit> Cmp<UInt<U, B>> for UTerm
[src]
impl<U: Unsigned, B: Bit> Cmp<UInt<U, B>> for UTerm
Zero < Nonzero
type Output = Less
The result of the comparison. It should only ever be one of Greater
, Less
, or Equal
.
fn compare<IM: InternalMarker>(&self, _: &UInt<U, B>) -> Self::Output
[src]
fn compare<IM: InternalMarker>(&self, _: &UInt<U, B>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B0> where
Ul: PrivateCmp<Ur, Equal>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B0> where
Ul: PrivateCmp<Ur, Equal>,
UInt<Ul, B0>
cmp with UInt<Ur, B0>
: SoFar
is Equal
type Output = PrivateCmpOut<Ul, Ur, Equal>
The result of the comparison. It should only ever be one of Greater
, Less
, or Equal
.
fn compare<IM: InternalMarker>(&self, rhs: &UInt<Ur, B0>) -> Self::Output
[src]
fn compare<IM: InternalMarker>(&self, rhs: &UInt<Ur, B0>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> Cmp<UInt<Ur, B1>> for UInt<Ul, B1> where
Ul: PrivateCmp<Ur, Equal>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> Cmp<UInt<Ur, B1>> for UInt<Ul, B1> where
Ul: PrivateCmp<Ur, Equal>,
UInt<Ul, B1>
cmp with UInt<Ur, B1>
: SoFar
is Equal
type Output = PrivateCmpOut<Ul, Ur, Equal>
The result of the comparison. It should only ever be one of Greater
, Less
, or Equal
.
fn compare<IM: InternalMarker>(&self, rhs: &UInt<Ur, B1>) -> Self::Output
[src]
fn compare<IM: InternalMarker>(&self, rhs: &UInt<Ur, B1>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> Cmp<UInt<Ur, B1>> for UInt<Ul, B0> where
Ul: PrivateCmp<Ur, Less>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> Cmp<UInt<Ur, B1>> for UInt<Ul, B0> where
Ul: PrivateCmp<Ur, Less>,
UInt<Ul, B0>
cmp with UInt<Ur, B1>
: SoFar
is Less
type Output = PrivateCmpOut<Ul, Ur, Less>
The result of the comparison. It should only ever be one of Greater
, Less
, or Equal
.
fn compare<IM: InternalMarker>(&self, rhs: &UInt<Ur, B1>) -> Self::Output
[src]
fn compare<IM: InternalMarker>(&self, rhs: &UInt<Ur, B1>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B1> where
Ul: PrivateCmp<Ur, Greater>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> Cmp<UInt<Ur, B0>> for UInt<Ul, B1> where
Ul: PrivateCmp<Ur, Greater>,
UInt<Ul, B1>
cmp with UInt<Ur, B0>
: SoFar
is Greater
type Output = PrivateCmpOut<Ul, Ur, Greater>
The result of the comparison. It should only ever be one of Greater
, Less
, or Equal
.
fn compare<IM: InternalMarker>(&self, rhs: &UInt<Ur, B0>) -> Self::Output
[src]
fn compare<IM: InternalMarker>(&self, rhs: &UInt<Ur, B0>) -> Self::Output
impl<U: Unsigned, B: Bit> Len for UInt<U, B> where
U: Len,
Length<U>: Add<B1>,
Add1<Length<U>>: Unsigned,
[src]
impl<U: Unsigned, B: Bit> Len for UInt<U, B> where
U: Len,
Length<U>: Add<B1>,
Add1<Length<U>>: Unsigned,
Length of a bit is 1
type Output = Add1<Length<U>>
The length as a type-level unsigned integer.
fn len(&self) -> Self::Output
[src]
fn len(&self) -> Self::Output
impl<Ur: Unsigned, Br: Bit> PartialDiv<UInt<Ur, Br>> for UTerm
[src]
impl<Ur: Unsigned, Br: Bit> PartialDiv<UInt<Ur, Br>> for UTerm
type Output = UTerm
The type of the result of the division
fn partial_div(self, _: UInt<Ur, Br>) -> Self::Output
[src]
fn partial_div(self, _: UInt<Ur, Br>) -> Self::Output
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>,
[src]
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 = Quot<UInt<Ul, Bl>, UInt<Ur, Br>>
The type of the result of the division
fn partial_div(self, rhs: UInt<Ur, Br>) -> Self::Output
[src]
fn partial_div(self, rhs: UInt<Ur, Br>) -> Self::Output
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>>,
[src]
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 = PrivateMinOut<UInt<U, B>, Ur, Compare<UInt<U, B>, Ur>>
The type of the minimum of Self
and Rhs
fn min(self, rhs: Ur) -> Self::Output
[src]
fn min(self, rhs: Ur) -> Self::Output
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>>,
[src]
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 = PrivateMaxOut<UInt<U, B>, Ur, Compare<UInt<U, B>, Ur>>
The type of the maximum of Self
and Rhs
fn max(self, rhs: Ur) -> Self::Output
[src]
fn max(self, rhs: Ur) -> Self::Output
impl<Xp, Yp> Gcd<UInt<Yp, B0>> for UInt<Xp, B0> where
Xp: Gcd<Yp>,
UInt<Xp, B0>: NonZero,
UInt<Yp, B0>: NonZero,
[src]
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
impl<Xp, Yp> Gcd<UInt<Yp, B0>> for UInt<Xp, B1> where
UInt<Xp, B1>: Gcd<Yp>,
UInt<Yp, B0>: NonZero,
[src]
impl<Xp, Yp> Gcd<UInt<Yp, B0>> for UInt<Xp, B1> where
UInt<Xp, B1>: Gcd<Yp>,
UInt<Yp, B0>: NonZero,
gcd(x, y) = gcd(x, y/2) if x odd and y even
impl<Xp, Yp> Gcd<UInt<Yp, B1>> for UInt<Xp, B0> where
Xp: Gcd<UInt<Yp, B1>>,
UInt<Xp, B0>: NonZero,
[src]
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
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>>,
Maximum<UInt<Xp, B1>, UInt<Yp, B1>>: Sub<Minimum<UInt<Xp, B1>, UInt<Yp, B1>>>,
Diff<Maximum<UInt<Xp, B1>, UInt<Yp, B1>>, Minimum<UInt<Xp, B1>, UInt<Yp, B1>>>: Gcd<Minimum<UInt<Xp, B1>, UInt<Yp, B1>>>,
[src]
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>>,
Maximum<UInt<Xp, B1>, UInt<Yp, B1>>: Sub<Minimum<UInt<Xp, B1>, UInt<Yp, B1>>>,
Diff<Maximum<UInt<Xp, B1>, UInt<Yp, B1>>, Minimum<UInt<Xp, B1>, UInt<Yp, B1>>>: Gcd<Minimum<UInt<Xp, B1>, UInt<Yp, B1>>>,
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.
type Output = Gcf<Diff<Maximum<UInt<Xp, B1>, UInt<Yp, B1>>, Minimum<UInt<Xp, B1>, UInt<Yp, B1>>>, Minimum<UInt<Xp, B1>, UInt<Yp, B1>>>
The greatest common divisor.
impl<Un, Bn> GetBit<UTerm> for UInt<Un, Bn> where
Bn: Copy,
[src]
impl<Un, Bn> GetBit<UTerm> for UInt<Un, Bn> where
Bn: Copy,
impl<Un, Bn, Ui, Bi> GetBit<UInt<Ui, Bi>> for UInt<Un, Bn> where
UInt<Ui, Bi>: Copy + Sub<B1>,
Un: GetBit<Sub1<UInt<Ui, Bi>>>,
[src]
impl<Un, Bn, Ui, Bi> GetBit<UInt<Ui, Bi>> for UInt<Un, Bn> where
UInt<Ui, Bi>: Copy + Sub<B1>,
Un: GetBit<Sub1<UInt<Ui, Bi>>>,
type Output = GetBitOut<Un, Sub1<UInt<Ui, Bi>>>
fn get_bit<IM: InternalMarker>(&self, i: &UInt<Ui, Bi>) -> Self::Output
[src]
fn get_bit<IM: InternalMarker>(&self, i: &UInt<Ui, Bi>) -> Self::Output
impl<U: Debug, B: Debug> Debug for UInt<U, B>
[src]
impl<U: Debug, B: Debug> Debug for UInt<U, B>
impl<U: PartialEq, B: PartialEq> PartialEq<UInt<U, B>> for UInt<U, B>
[src]
impl<U: PartialEq, B: PartialEq> PartialEq<UInt<U, B>> for UInt<U, B>
impl<U: Eq, B: Eq> Eq for UInt<U, B>
[src]
impl<U: Eq, B: Eq> Eq for UInt<U, B>
impl<U: Ord, B: Ord> Ord for UInt<U, B>
[src]
impl<U: Ord, B: Ord> Ord for UInt<U, B>
fn cmp(&self, other: &UInt<U, B>) -> Ordering
[src]
fn cmp(&self, other: &UInt<U, B>) -> Ordering
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl<U: PartialOrd, B: PartialOrd> PartialOrd<UInt<U, B>> for UInt<U, B>
[src]
impl<U: PartialOrd, B: PartialOrd> PartialOrd<UInt<U, B>> for UInt<U, B>
fn partial_cmp(&self, other: &UInt<U, B>) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &UInt<U, B>) -> Option<Ordering>
fn lt(&self, other: &UInt<U, B>) -> bool
[src]
fn lt(&self, other: &UInt<U, B>) -> bool
fn le(&self, other: &UInt<U, B>) -> bool
[src]
fn le(&self, other: &UInt<U, B>) -> bool
fn gt(&self, other: &UInt<U, B>) -> bool
[src]
fn gt(&self, other: &UInt<U, B>) -> bool
fn ge(&self, other: &UInt<U, B>) -> bool
[src]
fn ge(&self, other: &UInt<U, B>) -> bool
impl<U: Unsigned, B: Bit> Add<B0> for UInt<U, B>
[src]
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.
fn add(self, _: B0) -> Self::Output
[src]
fn add(self, _: B0) -> Self::Output
impl<U: Unsigned> Add<B1> for UInt<U, B0>
[src]
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.
fn add(self, _: B1) -> Self::Output
[src]
fn add(self, _: B1) -> Self::Output
impl<U: Unsigned> Add<B1> for UInt<U, B1> where
U: Add<B1>,
Add1<U>: Unsigned,
[src]
impl<U: Unsigned> Add<B1> for UInt<U, B1> where
U: Add<B1>,
Add1<U>: Unsigned,
UInt<U, B1> + B1 = UInt<U + B1, B0>
type Output = UInt<Add1<U>, B0>
The resulting type after applying the +
operator.
fn add(self, _: B1) -> Self::Output
[src]
fn add(self, _: B1) -> Self::Output
impl<U: Unsigned, B: Bit> Add<UTerm> for UInt<U, B>
[src]
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.
fn add(self, _: UTerm) -> Self::Output
[src]
fn add(self, _: UTerm) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> Add<UInt<Ur, B0>> for UInt<Ul, B0> where
Ul: Add<Ur>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> Add<UInt<Ur, B0>> for UInt<Ul, B0> where
Ul: Add<Ur>,
UInt<Ul, B0> + UInt<Ur, B0> = UInt<Ul + Ur, B0>
type Output = UInt<Sum<Ul, Ur>, B0>
The resulting type after applying the +
operator.
fn add(self, rhs: UInt<Ur, B0>) -> Self::Output
[src]
fn add(self, rhs: UInt<Ur, B0>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> Add<UInt<Ur, B1>> for UInt<Ul, B0> where
Ul: Add<Ur>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> Add<UInt<Ur, B1>> for UInt<Ul, B0> where
Ul: Add<Ur>,
UInt<Ul, B0> + UInt<Ur, B1> = UInt<Ul + Ur, B1>
type Output = UInt<Sum<Ul, Ur>, B1>
The resulting type after applying the +
operator.
fn add(self, rhs: UInt<Ur, B1>) -> Self::Output
[src]
fn add(self, rhs: UInt<Ur, B1>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> Add<UInt<Ur, B0>> for UInt<Ul, B1> where
Ul: Add<Ur>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> Add<UInt<Ur, B0>> for UInt<Ul, B1> where
Ul: Add<Ur>,
UInt<Ul, B1> + UInt<Ur, B0> = UInt<Ul + Ur, B1>
type Output = UInt<Sum<Ul, Ur>, B1>
The resulting type after applying the +
operator.
fn add(self, rhs: UInt<Ur, B0>) -> Self::Output
[src]
fn add(self, rhs: UInt<Ur, B0>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> Add<UInt<Ur, B1>> for UInt<Ul, B1> where
Ul: Add<Ur>,
Sum<Ul, Ur>: Add<B1>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> Add<UInt<Ur, B1>> for UInt<Ul, B1> where
Ul: Add<Ur>,
Sum<Ul, Ur>: Add<B1>,
UInt<Ul, B1> + UInt<Ur, B1> = UInt<(Ul + Ur) + B1, B0>
type Output = UInt<Add1<Sum<Ul, Ur>>, B0>
The resulting type after applying the +
operator.
fn add(self, rhs: UInt<Ur, B1>) -> Self::Output
[src]
fn add(self, rhs: UInt<Ur, B1>) -> Self::Output
impl<U: Unsigned, B: Bit> Sub<B0> for UInt<U, B>
[src]
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.
fn sub(self, _: B0) -> Self::Output
[src]
fn sub(self, _: B0) -> Self::Output
impl<U: Unsigned, B: Bit> Sub<B1> for UInt<UInt<U, B>, B1>
[src]
impl<U: Unsigned, B: Bit> Sub<B1> for UInt<UInt<U, B>, B1>
UInt<U, B1> - B1 = UInt<U, B0>
type Output = UInt<UInt<U, B>, B0>
The resulting type after applying the -
operator.
fn sub(self, _: B1) -> Self::Output
[src]
fn sub(self, _: B1) -> Self::Output
impl Sub<B1> for UInt<UTerm, B1>
[src]
impl Sub<B1> for UInt<UTerm, B1>
UInt<UTerm, B1> - B1 = UTerm
type Output = UTerm
The resulting type after applying the -
operator.
fn sub(self, _: B1) -> Self::Output
[src]
fn sub(self, _: B1) -> Self::Output
impl<U: Unsigned> Sub<B1> for UInt<U, B0> where
U: Sub<B1>,
Sub1<U>: Unsigned,
[src]
impl<U: Unsigned> Sub<B1> for UInt<U, B0> where
U: Sub<B1>,
Sub1<U>: Unsigned,
UInt<U, B0> - B1 = UInt<U - B1, B1>
type Output = UInt<Sub1<U>, B1>
The resulting type after applying the -
operator.
fn sub(self, _: B1) -> Self::Output
[src]
fn sub(self, _: B1) -> Self::Output
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,
[src]
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 = TrimOut<PrivateSubOut<UInt<Ul, Bl>, Ur>>
The resulting type after applying the -
operator.
fn sub(self, rhs: Ur) -> Self::Output
[src]
fn sub(self, rhs: Ur) -> Self::Output
impl<U: Unsigned, B: Bit> Mul<B0> for UInt<U, B>
[src]
impl<U: Unsigned, B: Bit> Mul<B0> for UInt<U, B>
UInt * B0 = UTerm
type Output = UTerm
The resulting type after applying the *
operator.
fn mul(self, _: B0) -> Self::Output
[src]
fn mul(self, _: B0) -> Self::Output
impl<U: Unsigned, B: Bit> Mul<B1> for UInt<U, B>
[src]
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.
fn mul(self, _: B1) -> Self::Output
[src]
fn mul(self, _: B1) -> Self::Output
impl<U: Unsigned, B: Bit> Mul<UTerm> for UInt<U, B>
[src]
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.
fn mul(self, _: UTerm) -> Self::Output
[src]
fn mul(self, _: UTerm) -> Self::Output
impl<Ul: Unsigned, B: Bit, Ur: Unsigned> Mul<UInt<Ur, B>> for UInt<Ul, B0> where
Ul: Mul<UInt<Ur, B>>,
[src]
impl<Ul: Unsigned, B: Bit, Ur: Unsigned> Mul<UInt<Ur, B>> for UInt<Ul, B0> where
Ul: Mul<UInt<Ur, B>>,
UInt<Ul, B0> * UInt<Ur, B> = UInt<(Ul * UInt<Ur, B>), B0>
type Output = UInt<Prod<Ul, UInt<Ur, B>>, B0>
The resulting type after applying the *
operator.
fn mul(self, rhs: UInt<Ur, B>) -> Self::Output
[src]
fn mul(self, rhs: UInt<Ur, B>) -> Self::Output
impl<Ul: Unsigned, B: Bit, Ur: Unsigned> Mul<UInt<Ur, B>> for UInt<Ul, B1> where
Ul: Mul<UInt<Ur, B>>,
UInt<Prod<Ul, UInt<Ur, B>>, B0>: Add<UInt<Ur, B>>,
[src]
impl<Ul: Unsigned, B: Bit, Ur: Unsigned> Mul<UInt<Ur, B>> for UInt<Ul, B1> where
Ul: Mul<UInt<Ur, B>>,
UInt<Prod<Ul, UInt<Ur, B>>, B0>: Add<UInt<Ur, B>>,
UInt<Ul, B1> * UInt<Ur, B> = UInt<(Ul * UInt<Ur, B>), B0> + UInt<Ur, B>
type Output = Sum<UInt<Prod<Ul, UInt<Ur, B>>, B0>, UInt<Ur, B>>
The resulting type after applying the *
operator.
fn mul(self, rhs: UInt<Ur, B>) -> Self::Output
[src]
fn mul(self, rhs: UInt<Ur, B>) -> Self::Output
impl<Ur: Unsigned, Br: Bit> Div<UInt<Ur, Br>> for UTerm
[src]
impl<Ur: Unsigned, Br: Bit> Div<UInt<Ur, Br>> for UTerm
type Output = UTerm
The resulting type after applying the /
operator.
fn div(self, _: UInt<Ur, Br>) -> Self::Output
[src]
fn div(self, _: UInt<Ur, Br>) -> Self::Output
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>>>>,
[src]
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 = PrivateDivQuot<UInt<Ul, Bl>, UInt<Ur, Br>, U0, U0, Sub1<Length<UInt<Ul, Bl>>>>
The resulting type after applying the /
operator.
fn div(self, rhs: UInt<Ur, Br>) -> Self::Output
[src]
fn div(self, rhs: UInt<Ur, Br>) -> Self::Output
impl<Ur: Unsigned, Br: Bit> Rem<UInt<Ur, Br>> for UTerm
[src]
impl<Ur: Unsigned, Br: Bit> Rem<UInt<Ur, Br>> for UTerm
type Output = UTerm
The resulting type after applying the %
operator.
fn rem(self, _: UInt<Ur, Br>) -> Self::Output
[src]
fn rem(self, _: UInt<Ur, Br>) -> Self::Output
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>>>>,
[src]
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 = PrivateDivRem<UInt<Ul, Bl>, UInt<Ur, Br>, U0, U0, Sub1<Length<UInt<Ul, Bl>>>>
The resulting type after applying the %
operator.
fn rem(self, rhs: UInt<Ur, Br>) -> Self::Output
[src]
fn rem(self, rhs: UInt<Ur, Br>) -> Self::Output
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,
[src]
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 = TrimOut<PrivateAndOut<UInt<Ul, Bl>, Ur>>
The resulting type after applying the &
operator.
fn bitand(self, rhs: Ur) -> Self::Output
[src]
fn bitand(self, rhs: Ur) -> Self::Output
impl<B: Bit, U: Unsigned> BitOr<UTerm> for UInt<U, B>
[src]
impl<B: Bit, U: Unsigned> BitOr<UTerm> for UInt<U, B>
X | UTerm = X
type Output = Self
The resulting type after applying the |
operator.
fn bitor(self, _: UTerm) -> Self::Output
[src]
fn bitor(self, _: UTerm) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> BitOr<UInt<Ur, B0>> for UInt<Ul, B0> where
Ul: BitOr<Ur>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> BitOr<UInt<Ur, B0>> for UInt<Ul, B0> where
Ul: BitOr<Ur>,
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.
fn bitor(self, rhs: UInt<Ur, B0>) -> Self::Output
[src]
fn bitor(self, rhs: UInt<Ur, B0>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> BitOr<UInt<Ur, B1>> for UInt<Ul, B0> where
Ul: BitOr<Ur>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> BitOr<UInt<Ur, B1>> for UInt<Ul, B0> where
Ul: BitOr<Ur>,
UInt<Ul, B0> | UInt<Ur, B1> = UInt<Ul | Ur, B1>
type Output = UInt<Or<Ul, Ur>, B1>
The resulting type after applying the |
operator.
fn bitor(self, rhs: UInt<Ur, B1>) -> Self::Output
[src]
fn bitor(self, rhs: UInt<Ur, B1>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> BitOr<UInt<Ur, B0>> for UInt<Ul, B1> where
Ul: BitOr<Ur>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> BitOr<UInt<Ur, B0>> for UInt<Ul, B1> where
Ul: BitOr<Ur>,
UInt<Ul, B1> | UInt<Ur, B0> = UInt<Ul | Ur, B1>
type Output = UInt<Or<Ul, Ur>, B1>
The resulting type after applying the |
operator.
fn bitor(self, rhs: UInt<Ur, B0>) -> Self::Output
[src]
fn bitor(self, rhs: UInt<Ur, B0>) -> Self::Output
impl<Ul: Unsigned, Ur: Unsigned> BitOr<UInt<Ur, B1>> for UInt<Ul, B1> where
Ul: BitOr<Ur>,
[src]
impl<Ul: Unsigned, Ur: Unsigned> BitOr<UInt<Ur, B1>> for UInt<Ul, B1> where
Ul: BitOr<Ur>,
UInt<Ul, B1> | UInt<Ur, B1> = UInt<Ul | Ur, B1>
type Output = UInt<Or<Ul, Ur>, B1>
The resulting type after applying the |
operator.
fn bitor(self, rhs: UInt<Ur, B1>) -> Self::Output
[src]
fn bitor(self, rhs: UInt<Ur, B1>) -> Self::Output
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,
[src]
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 = TrimOut<PrivateXorOut<UInt<Ul, Bl>, Ur>>
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: Ur) -> Self::Output
[src]
fn bitxor(self, rhs: Ur) -> Self::Output
impl<U: Unsigned, B: Bit> Shl<B0> for UInt<U, B>
[src]
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.
fn shl(self, _: B0) -> Self::Output
[src]
fn shl(self, _: B0) -> Self::Output
impl<U: Unsigned, B: Bit> Shl<B1> for UInt<U, B>
[src]
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.
fn shl(self, _: B1) -> Self::Output
[src]
fn shl(self, _: B1) -> Self::Output
impl<U: Unsigned, B: Bit> Shl<UTerm> for UInt<U, B>
[src]
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.
fn shl(self, _: UTerm) -> Self::Output
[src]
fn shl(self, _: UTerm) -> Self::Output
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>>>,
[src]
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 = Shleft<UInt<UInt<U, B>, B0>, Sub1<UInt<Ur, Br>>>
The resulting type after applying the <<
operator.
fn shl(self, rhs: UInt<Ur, Br>) -> Self::Output
[src]
fn shl(self, rhs: UInt<Ur, Br>) -> Self::Output
impl<U: Unsigned, B: Bit> Shr<UTerm> for UInt<U, B>
[src]
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.
fn shr(self, _: UTerm) -> Self::Output
[src]
fn shr(self, _: UTerm) -> Self::Output
impl<U: Unsigned, B: Bit> Shr<B0> for UInt<U, B>
[src]
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.
fn shr(self, _: B0) -> Self::Output
[src]
fn shr(self, _: B0) -> Self::Output
impl<U: Unsigned, B: Bit> Shr<B1> for UInt<U, B>
[src]
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.
fn shr(self, _: B1) -> Self::Output
[src]
fn shr(self, _: B1) -> Self::Output
impl<U: Unsigned, 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>>>,
[src]
impl<U: Unsigned, 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>>>,
Shifting right UInt
by UInt
: UInt(U, B) >> Y
= U >> (Y - 1)
type Output = Shright<U, Sub1<UInt<Ur, Br>>>
The resulting type after applying the >>
operator.
fn shr(self, rhs: UInt<Ur, Br>) -> Self::Output
[src]
fn shr(self, rhs: UInt<Ur, Br>) -> Self::Output
impl<U: Hash, B: Hash> Hash for UInt<U, B>
[src]
impl<U: Hash, B: Hash> Hash for UInt<U, B>
fn hash<__HUB: Hasher>(&self, state: &mut __HUB)
[src]
fn hash<__HUB: Hasher>(&self, state: &mut __HUB)
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<U: Copy, B: Copy> Copy for UInt<U, B>
[src]
impl<U: Copy, B: Copy> Copy for UInt<U, B>
impl<U: Clone, B: Clone> Clone for UInt<U, B>
[src]
impl<U: Clone, B: Clone> Clone for UInt<U, B>
fn clone(&self) -> UInt<U, B>
[src]
fn clone(&self) -> UInt<U, B>
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<U: Default, B: Default> Default for UInt<U, B>
[src]
impl<U: Default, B: Default> Default for UInt<U, B>
Auto Trait Implementations
impl<U, B> Send for UInt<U, B> where
B: Send,
U: Send,
impl<U, B> Send for UInt<U, B> where
B: Send,
U: Send,
impl<U, B> Sync for UInt<U, B> where
B: Sync,
U: Sync,
impl<U, B> Sync for UInt<U, B> where
B: Sync,
U: Sync,
Blanket Implementations
impl<T> Same for T
[src]
impl<T> Same for T
type Output = T
Should always be Self
impl<X, N> Pow for X where
N: Unsigned,
X: Unsigned + PrivatePow<UInt<UTerm, B1>, N>,
[src]
impl<X, N> Pow for X where
N: Unsigned,
X: Unsigned + PrivatePow<UInt<UTerm, B1>, N>,
type Output = <X as PrivatePow<UInt<UTerm, B1>, N>>::Output
The result of the exponentiation.
fn powi(Self, N) -> <X as Pow<N>>::Output
[src]
fn powi(Self, N) -> <X as Pow<N>>::Output
impl<M, N> PartialDiv for M where
M: Integer + Div<N> + Rem<N, Output = Z0>,
[src]
impl<M, N> PartialDiv for M where
M: Integer + Div<N> + Rem<N, Output = Z0>,
type Output = <M as Div<N>>::Output
The type of the result of the division
fn partial_div(Self, N) -> <M as PartialDiv<N>>::Output
[src]
fn partial_div(Self, N) -> <M as PartialDiv<N>>::Output
impl<A, B> IsLess for A where
A: Cmp<B> + IsLessPrivate<B, <A as Cmp<B>>::Output>,
[src]
impl<A, B> IsLess for A where
A: Cmp<B> + IsLessPrivate<B, <A as Cmp<B>>::Output>,
type Output = <A as IsLessPrivate<B, <A as Cmp<B>>::Output>>::Output
The type representing either True
or False
fn is_less(Self, B) -> <A as IsLess<B>>::Output
[src]
fn is_less(Self, B) -> <A as IsLess<B>>::Output
impl<A, B> IsEqual for A where
A: Cmp<B> + IsEqualPrivate<B, <A as Cmp<B>>::Output>,
[src]
impl<A, B> IsEqual for A where
A: Cmp<B> + IsEqualPrivate<B, <A as Cmp<B>>::Output>,
type Output = <A as IsEqualPrivate<B, <A as Cmp<B>>::Output>>::Output
The type representing either True
or False
fn is_equal(Self, B) -> <A as IsEqual<B>>::Output
[src]
fn is_equal(Self, B) -> <A as IsEqual<B>>::Output
impl<A, B> IsGreater for A where
A: Cmp<B> + IsGreaterPrivate<B, <A as Cmp<B>>::Output>,
[src]
impl<A, B> IsGreater for A where
A: Cmp<B> + IsGreaterPrivate<B, <A as Cmp<B>>::Output>,
type Output = <A as IsGreaterPrivate<B, <A as Cmp<B>>::Output>>::Output
The type representing either True
or False
fn is_greater(Self, B) -> <A as IsGreater<B>>::Output
[src]
fn is_greater(Self, B) -> <A as IsGreater<B>>::Output
impl<A, B> IsLessOrEqual for A where
A: Cmp<B> + IsLessOrEqualPrivate<B, <A as Cmp<B>>::Output>,
[src]
impl<A, B> IsLessOrEqual for A where
A: Cmp<B> + IsLessOrEqualPrivate<B, <A as Cmp<B>>::Output>,
type Output = <A as IsLessOrEqualPrivate<B, <A as Cmp<B>>::Output>>::Output
The type representing either True
or False
fn is_less_or_equal(Self, B) -> <A as IsLessOrEqual<B>>::Output
[src]
fn is_less_or_equal(Self, B) -> <A as IsLessOrEqual<B>>::Output
impl<A, B> IsNotEqual for A where
A: Cmp<B> + IsNotEqualPrivate<B, <A as Cmp<B>>::Output>,
[src]
impl<A, B> IsNotEqual for A where
A: Cmp<B> + IsNotEqualPrivate<B, <A as Cmp<B>>::Output>,
type Output = <A as IsNotEqualPrivate<B, <A as Cmp<B>>::Output>>::Output
The type representing either True
or False
fn is_not_equal(Self, B) -> <A as IsNotEqual<B>>::Output
[src]
fn is_not_equal(Self, B) -> <A as IsNotEqual<B>>::Output
impl<A, B> IsGreaterOrEqual for A where
A: Cmp<B> + IsGreaterOrEqualPrivate<B, <A as Cmp<B>>::Output>,
[src]
impl<A, B> IsGreaterOrEqual for A where
A: Cmp<B> + IsGreaterOrEqualPrivate<B, <A as Cmp<B>>::Output>,
type Output = <A as IsGreaterOrEqualPrivate<B, <A as Cmp<B>>::Output>>::Output
The type representing either True
or False
fn is_greater_or_equal(Self, B) -> <A as IsGreaterOrEqual<B>>::Output
[src]
fn is_greater_or_equal(Self, B) -> <A as IsGreaterOrEqual<B>>::Output
impl<N> SquareRoot for N where
N: PrivateSquareRoot,
[src]
impl<N> SquareRoot for N where
N: PrivateSquareRoot,
type Output = <N as PrivateSquareRoot>::Output
The result of the integer square root.
impl<N> Logarithm2 for N where
N: PrivateLogarithm2,
[src]
impl<N> Logarithm2 for N where
N: PrivateLogarithm2,
type Output = <N as PrivateLogarithm2>::Output
The result of the integer binary logarithm.
impl<X> Gcd for X where
X: Unsigned + NonZero,
[src]
impl<X> Gcd for X where
X: Unsigned + NonZero,
type Output = X
The greatest common divisor.
impl<N, I, B> SetBit for N where
N: PrivateSetBit<I, B>,
<N as PrivateSetBit<I, B>>::Output: Trim,
[src]
impl<N, I, B> SetBit for N where
N: PrivateSetBit<I, B>,
<N as PrivateSetBit<I, B>>::Output: Trim,
type Output = <<N as PrivateSetBit<I, B>>::Output as Trim>::Output
fn set_bit<IM>(Self, I, B) -> <N as SetBit<I, B>>::Output where
IM: InternalMarker,
[src]
fn set_bit<IM>(Self, I, B) -> <N as SetBit<I, B>>::Output where
IM: InternalMarker,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId