crypto_bigint::consts

Type Alias U86

Source
pub type U86 = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B1>, B1>, B0>;

Aliased Type§

struct U86 { /* private fields */ }

Implementations

Source§

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

Source

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

Instantiates a singleton representing this unsigned integer.

Trait Implementations

Source§

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

U + B0 = U

Source§

type Output = UInt<U, B>

The resulting type after applying the + operator.
Source§

fn add(self, _: B0) -> <UInt<U, B> as Add<B0>>::Output

Performs the + operation. Read more
Source§

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

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

Source§

type Output = UInt<U, B1>

The resulting type after applying the + operator.
Source§

fn add(self, _: B1) -> <UInt<U, B0> as Add<B1>>::Output

Performs the + operation. Read more
Source§

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

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

Source§

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

The resulting type after applying the + operator.
Source§

fn add(self, rhs: UInt<Ur, B0>) -> <UInt<Ul, B0> as Add<UInt<Ur, B0>>>::Output

Performs the + operation. Read more
Source§

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

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

Source§

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

The resulting type after applying the + operator.
Source§

fn add(self, rhs: UInt<Ur, B1>) -> <UInt<Ul, B0> as Add<UInt<Ur, B1>>>::Output

Performs the + operation. Read more
Source§

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

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

Source§

type Output = UInt<U, B>

The resulting type after applying the + operator.
Source§

fn add(self, _: UTerm) -> <UInt<U, B> as Add<UTerm>>::Output

Performs the + operation. Read more
§

impl<T, N> ArrayLength<T> for UInt<N, B0>
where N: ArrayLength<T>,

§

type ArrayType

Associated type representing the array type for the number
Source§

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

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

Source§

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) -> <UInt<Ul, Bl> as BitAnd<Ur>>::Output

Performs the & operation. Read more
Source§

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

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

Source§

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

The resulting type after applying the | operator.
Source§

fn bitor( self, rhs: UInt<Ur, B0>, ) -> <UInt<Ul, B0> as BitOr<UInt<Ur, B0>>>::Output

Performs the | operation. Read more
Source§

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

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

Source§

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

The resulting type after applying the | operator.
Source§

fn bitor( self, rhs: UInt<Ur, B1>, ) -> <UInt<Ul, B0> as BitOr<UInt<Ur, B1>>>::Output

Performs the | operation. Read more
Source§

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

X | UTerm = X

Source§

type Output = UInt<U, B>

The resulting type after applying the | operator.
Source§

fn bitor(self, _: UTerm) -> <UInt<U, B> as BitOr<UTerm>>::Output

Performs the | operation. Read more
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

The resulting type after applying the ^ operator.
Source§

fn bitxor(self, rhs: Ur) -> <UInt<Ul, Bl> as BitXor<Ur>>::Output

Performs the ^ operation. Read more
Source§

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

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> Cmp<UInt<Ur, B0>> for UInt<Ul, B0>
where Ul: Unsigned + PrivateCmp<Ur, Equal>, Ur: Unsigned,

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

Source§

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> Cmp<UInt<Ur, B1>> for UInt<Ul, B0>
where Ul: Unsigned + PrivateCmp<Ur, Less>, Ur: Unsigned,

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

Source§

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, B> Cmp<UTerm> for UInt<U, B>
where U: Unsigned, B: Bit,

Nonzero > Zero

Source§

type Output = Greater

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

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

Source§

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

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

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

Source§

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

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

impl<Ul, Bl, Ur, Br> Div<UInt<Ur, Br>> for UInt<Ul, Bl>
where Ul: Unsigned, Bl: Bit, Ur: Unsigned, Br: Bit, UInt<Ul, Bl>: Len, <UInt<Ul, Bl> as Len>::Output: Sub<B1>, (): PrivateDiv<UInt<Ul, Bl>, UInt<Ur, Br>, UTerm, UTerm, <<UInt<Ul, Bl> as Len>::Output as Sub<B1>>::Output>,

Source§

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>) -> <UInt<Ul, Bl> as Div<UInt<Ur, Br>>>::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

Source§

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

Source§

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

The greatest common divisor.
Source§

impl<Un, Bn, Ui, Bi> GetBit<UInt<Ui, Bi>> for UInt<Un, Bn>
where UInt<Ui, Bi>: Copy + Sub<B1>, Un: GetBit<<UInt<Ui, Bi> as Sub<B1>>::Output>,

Source§

type Output = <Un as GetBit<<UInt<Ui, Bi> as Sub<B1>>::Output>>::Output

Source§

impl<Un, Bn> GetBit<UTerm> for UInt<Un, Bn>
where Bn: Copy,

Source§

type Output = Bn

Source§

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

Source§

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

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> Len for UInt<U, B>
where U: Unsigned + Len, B: Bit, <U as Len>::Output: Add<B1>, <<U as Len>::Output as Add<B1>>::Output: Unsigned,

Length of a bit is 1

Source§

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

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

fn len(&self) -> <UInt<U, B> as Len>::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, <UInt<U, B> as Cmp<Ur>>::Output>,

Source§

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) -> <UInt<U, B> as Max<Ur>>::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, <UInt<U, B> as Cmp<Ur>>::Output>,

Source§

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) -> <UInt<U, B> as Min<Ur>>::Output

Method returning the minimum
Source§

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

UInt * B0 = UTerm

Source§

type Output = UTerm

The resulting type after applying the * operator.
Source§

fn mul(self, _: B0) -> <UInt<U, B> as Mul<B0>>::Output

Performs the * operation. Read more
Source§

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

UInt * B1 = UInt

Source§

type Output = UInt<U, B>

The resulting type after applying the * operator.
Source§

fn mul(self, _: B1) -> <UInt<U, B> as Mul<B1>>::Output

Performs the * operation. Read more
Source§

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

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

Source§

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>) -> <UInt<Ul, B0> as Mul<UInt<Ur, B>>>::Output

Performs the * operation. Read more
Source§

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

UInt<U, B> * UTerm = UTerm

Source§

type Output = UTerm

The resulting type after applying the * operator.
Source§

fn mul(self, _: UTerm) -> <UInt<U, B> as Mul<UTerm>>::Output

Performs the * operation. Read more
Source§

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

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) -> Self
where Self: Sized,

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

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

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

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

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

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

Source§

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>, ) -> <UInt<Ul, Bl> as PartialDiv<UInt<Ur, Br>>>::Output

Method for performing the division
Source§

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

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

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

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

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

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

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<Ul, Bl, Ur, Br> Rem<UInt<Ur, Br>> for UInt<Ul, Bl>
where Ul: Unsigned, Bl: Bit, Ur: Unsigned, Br: Bit, UInt<Ul, Bl>: Len, <UInt<Ul, Bl> as Len>::Output: Sub<B1>, (): PrivateDiv<UInt<Ul, Bl>, UInt<Ur, Br>, UTerm, UTerm, <<UInt<Ul, Bl> as Len>::Output as Sub<B1>>::Output>,

Source§

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>) -> <UInt<Ul, Bl> as Rem<UInt<Ur, Br>>>::Output

Performs the % operation. Read more
Source§

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

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

Source§

type Output = UInt<U, B>

The resulting type after applying the << operator.
Source§

fn shl(self, _: B0) -> <UInt<U, B> as Shl<B0>>::Output

Performs the << operation. Read more
Source§

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

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

Source§

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

The resulting type after applying the << operator.
Source§

fn shl(self, _: B1) -> <UInt<U, B> as Shl<B1>>::Output

Performs the << operation. Read more
Source§

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

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

Source§

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>) -> <UInt<U, B> as Shl<UInt<Ur, Br>>>::Output

Performs the << operation. Read more
Source§

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

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

Source§

type Output = UInt<U, B>

The resulting type after applying the << operator.
Source§

fn shl(self, _: UTerm) -> <UInt<U, B> as Shl<UTerm>>::Output

Performs the << operation. Read more
Source§

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

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

Source§

type Output = UInt<U, B>

The resulting type after applying the >> operator.
Source§

fn shr(self, _: B0) -> <UInt<U, B> as Shr<B0>>::Output

Performs the >> operation. Read more
Source§

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

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

Source§

type Output = U

The resulting type after applying the >> operator.
Source§

fn shr(self, _: B1) -> <UInt<U, B> as Shr<B1>>::Output

Performs the >> operation. Read more
Source§

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

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

Source§

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>) -> <UInt<U, B> as Shr<UInt<Ur, Br>>>::Output

Performs the >> operation. Read more
Source§

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

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

Source§

type Output = UInt<U, B>

The resulting type after applying the >> operator.
Source§

fn shr(self, _: UTerm) -> <UInt<U, B> as Shr<UTerm>>::Output

Performs the >> operation. Read more
Source§

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

UInt - B0 = UInt

Source§

type Output = UInt<U, B>

The resulting type after applying the - operator.
Source§

fn sub(self, _: B0) -> <UInt<U, B> as Sub<B0>>::Output

Performs the - operation. Read more
Source§

impl<U> Sub<B1> for UInt<U, B0>
where U: Unsigned + Sub<B1>, <U as Sub<B1>>::Output: Unsigned,

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

Source§

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

The resulting type after applying the - operator.
Source§

fn sub(self, _: B1) -> <UInt<U, B0> as Sub<B1>>::Output

Performs the - operation. Read more
Source§

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

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

Source§

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) -> <UInt<Ul, Bl> as Sub<Ur>>::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§

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§

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§

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§

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§

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§

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§

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§

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§

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

Source§

impl<U, B> Copy for UInt<U, B>
where U: Copy, B: Copy,

Source§

impl<U, B> Eq for UInt<U, B>
where U: Eq, B: Eq,

Source§

impl<U, B> NonZero for UInt<U, B>
where U: Unsigned, B: Bit,

Source§

impl<U> PowerOfTwo for UInt<U, B0>
where U: Unsigned + PowerOfTwo,

Source§

impl<U, B> StructuralPartialEq for UInt<U, B>