# [−] Struct verification::bigint::uint::U512

    #[repr(C)]
    pub struct U512(pub [u64; 8]);

Little-endian large integer type

## Trait Implementations

###

`impl Ord for U512`

####

`fn cmp(&self, other: &U512) -> Ordering` |

This method returns an `Ordering` between `self` and `other`. Read more

####

`fn max(self, other: Self) -> Self`

1.21.0
[src]

Compares and returns the maximum of two values. Read more

####

`fn min(self, other: Self) -> Self`

1.21.0
[src]

Compares and returns the minimum of two values. Read more

###

`impl Eq for U512`

###

`impl PartialEq<U512> for U512`

####

`fn eq(&self, other: &U512) -> bool` |

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

####

`fn ne(&self, other: &U512) -> bool` |

This method tests for `!=`.

###

`impl Mul<U512> for U512`

#### `type Output = U512`

The resulting type after applying the `*` operator.

####

`fn mul(self, other: U512) -> U512` |

Performs the `*` operation.

###

`impl Debug for U512`

####

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

Formats the value using the given formatter. Read more

###

`impl FromStr for U512`

#### `type Err = FromHexError`

The associated error which can be returned from parsing.

####

`fn from_str(value: &str) -> Result<U512, <U512 as FromStr>::Err>` |

Parses a string `s` to return a value of this type. Read more

###

`impl BitXor<U512> for U512`

#### `type Output = U512`

The resulting type after applying the `^` operator.

####

`fn bitxor(self, other: U512) -> U512` |

Performs the `^` operation.

###

`impl Hash for U512`

####

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

Feeds this value into the given [`Hasher`]. Read more

####

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

1.3.0
[src]

Feeds a slice of this type into the given [`Hasher`]. Read more

###

`impl Uint for U512`

####

`fn from_dec_str(value: &str) -> Result<U512, FromDecStrErr>` |

Convert from a decimal string.

####

`fn low_u32(&self) -> u32` |

Conversion to u32

####

`fn low_u64(&self) -> u64` |

Conversion to u64

####

`fn as_u32(&self) -> u32` |

Conversion to u32 with overflow checking

####

`fn as_u64(&self) -> u64` |

Conversion to u64 with overflow checking

####

`fn is_zero(&self) -> bool` |

Returns

####

`fn bits(&self) -> usize` |

Return the least number of bits needed to represent the number

####

`fn bit(&self, index: usize) -> bool` |

Return if specific bit is set

####

`fn byte(&self, index: usize) -> u8` |

Return single byte

####

`fn to_big_endian(&self, bytes: &mut [u8])` |

Convert to the sequence of bytes with a big endian

####

`fn to_little_endian(&self, bytes: &mut [u8])` |

Convert to the sequence of bytes with a little endian

####

`fn to_hex(&self) -> String` |

Convert to a non-zero-prefixed hex representation (not prefixed by `0x`).

####

`fn exp10(n: usize) -> U512` |

Create `Uint(10**n)`

####

`fn zero() -> U512` |

Returns new instance equalling zero.

####

`fn one() -> U512` |

Returns new instance equalling one.

####

`fn max_value() -> U512` |

Returns the largest value that can be represented by this integer type.

####

`fn pow(self, expon: U512) -> U512` |

Fast exponentation by squaring https://en.wikipedia.org/wiki/Exponentiation_by_squaring

####

`fn overflowing_pow(self, expon: U512) -> (U512, bool)` |

Fast exponentation by squaring https://en.wikipedia.org/wiki/Exponentiation_by_squaring

####

`fn overflowing_add(self, other: U512) -> (U512, bool)` |

Optimized instructions

####

`fn overflowing_sub(self, other: U512) -> (U512, bool)` |

Subtract another `Uint` from this returning result and possible overflow

####

`fn overflowing_mul(self, other: U512) -> (U512, bool)` |

Multiple this `Uint` with other returning result and possible overflow

####

`fn overflowing_div(self, other: U512) -> (U512, bool)` |

Divide this `Uint` by other returning result and possible overflow

####

`fn overflowing_rem(self, other: U512) -> (U512, bool)` |

Returns reminder of division of this `Uint` by other and possible overflow

####

`fn overflowing_neg(self) -> (U512, bool)` |

Returns negation of this `Uint` and overflow (always true)

###

`impl Not for U512`

#### `type Output = U512`

The resulting type after applying the `!` operator.

####

`fn not(self) -> U512` |

Performs the unary `!` operation.

###

`impl Shl<usize> for U512`

#### `type Output = U512`

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

####

`fn shl(self, shift: usize) -> U512` |

Performs the `<<` operation.

###

`impl Div<U512> for U512`

#### `type Output = U512`

The resulting type after applying the `/` operator.

####

`fn div(self, other: U512) -> U512` |

Performs the `/` operation.

###

`impl From<u32> for U512`

####

`fn from(value: u32) -> U512` |

Performs the conversion.

###

`impl From<u8> for U512`

####

`fn from(value: u8) -> U512` |

Performs the conversion.

###

`impl<'a> From<&'a U256> for U512`

####

`fn from(value: &'a U256) -> U512` |

Performs the conversion.

###

`impl From<usize> for U512`

####

`fn from(value: usize) -> U512` |

Performs the conversion.

###

`impl From<i64> for U512`

####

`fn from(value: i64) -> U512` |

Performs the conversion.

###

`impl From<U512> for U128`

####

`fn from(value: U512) -> U128` |

Performs the conversion.

###

`impl From<isize> for U512`

####

`fn from(value: isize) -> U512` |

Performs the conversion.

###

`impl From<U128> for U512`

####

`fn from(value: U128) -> U512` |

Performs the conversion.

###

`impl From<U256> for U512`

####

`fn from(value: U256) -> U512` |

Performs the conversion.

###

`impl<'a> From<&'a [u8]> for U512`

####

`fn from(bytes: &[u8]) -> U512` |

Performs the conversion.

###

`impl From<i8> for U512`

####

`fn from(value: i8) -> U512` |

Performs the conversion.

###

`impl From<u16> for U512`

####

`fn from(value: u16) -> U512` |

Performs the conversion.

###

`impl From<i32> for U512`

####

`fn from(value: i32) -> U512` |

Performs the conversion.

###

`impl<'a> From<&'a U512> for U256`

####

`fn from(value: &'a U512) -> U256` |

Performs the conversion.

###

`impl From<u64> for U512`

####

`fn from(value: u64) -> U512` |

Performs the conversion.

###

`impl From<&'static str> for U512`

####

`fn from(s: &'static str) -> U512` |

Performs the conversion.

###

`impl From<i16> for U512`

####

`fn from(value: i16) -> U512` |

Performs the conversion.

###

`impl From<U512> for U256`

####

`fn from(value: U512) -> U256` |

Performs the conversion.

###

`impl PartialOrd<U512> for U512`

####

`fn partial_cmp(&self, other: &U512) -> Option<Ordering>` |

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

####

`#[must_use] fn lt(&self, other: &Rhs) -> bool`

1.0.0
[src]

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

####

`#[must_use] fn le(&self, other: &Rhs) -> bool`

1.0.0
[src]

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

####

`#[must_use] fn gt(&self, other: &Rhs) -> bool`

1.0.0
[src]

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

####

`#[must_use] fn ge(&self, other: &Rhs) -> bool`

1.0.0
[src]

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

###

`impl Display for U512`

####

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

Formats the value using the given formatter. Read more

###

`impl Copy for U512`

###

`impl LowerHex for U512`

####

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

Formats the value using the given formatter.

###

`impl Clone for U512`

####

`fn clone(&self) -> U512` |

Returns a copy of the value. Read more

####

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

1.0.0
[src]

Performs copy-assignment from `source`. Read more

###

`impl BitAnd<U512> for U512`

#### `type Output = U512`

The resulting type after applying the `&` operator.

####

`fn bitand(self, other: U512) -> U512` |

Performs the `&` operation.

###

`impl Add<U512> for U512`

#### `type Output = U512`

The resulting type after applying the `+` operator.

####

`fn add(self, other: U512) -> U512` |

Performs the `+` operation.

###

`impl Rem<U512> for U512`

#### `type Output = U512`

The resulting type after applying the `%` operator.

####

`fn rem(self, other: U512) -> U512` |

Performs the `%` operation.

###

`impl Default for U512`

####

`fn default() -> U512` |

Returns the "default value" for a type. Read more

###

`impl Shr<usize> for U512`

#### `type Output = U512`

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

####

`fn shr(self, shift: usize) -> U512` |

Performs the `>>` operation.

###

`impl Sub<U512> for U512`

#### `type Output = U512`

The resulting type after applying the `-` operator.

####

`fn sub(self, other: U512) -> U512` |

Performs the `-` operation.

###

`impl BitOr<U512> for U512`

#### `type Output = U512`

The resulting type after applying the `|` operator.

####

`fn bitor(self, other: U512) -> U512` |

Performs the `|` operation.

## Auto Trait Implementations

###

`impl Send for U512`

###

`impl Sync for U512`

## Blanket Implementations

###

`impl<T> ToOwned for T where T: Clone,`

[src]

#### `type Owned = T`

####

`fn to_owned(&self) -> T`

[src]

Creates owned data from borrowed data, usually by cloning. Read more

####

`fn clone_into(&self, target: &mut T)`

[src]

🔬 This is a nightly-only experimental API. (`toowned_clone_into`)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

###

`impl<T> From for T`

[src]

####

`fn from(t: T) -> T`

[src]

Performs the conversion.

###

`impl<T> ToString for T where T: Display + ?Sized,`

[src]

####

`fn to_string(&self) -> String`

[src]

Converts the given value to a `String`. Read more

###

`impl<T, U> Into for T where U: From<T>,`

[src]

####

`fn into(self) -> U`

[src]

Performs the conversion.

###

`impl<T, U> TryFrom for T where T: From<U>,`

[src]

#### `type Error = !`

🔬 This is a nightly-only experimental API. (`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]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

`impl<T> Borrow for T where T: ?Sized,`

[src]

####
ⓘImportant traits for &'a mut R

### Important traits for &'a mut R

`impl<'a, R> Read for &'a mut R where
R: Read + ?Sized, impl<'a, W> Write for &'a mut W where
W: Write + ?Sized, impl<'a, I> Iterator for &'a mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;`

`fn borrow(&self) -> &T`

[src]

Immutably borrows from an owned value. Read more

###

`impl<T, U> TryInto for T where U: TryFrom<T>,`

[src]

#### `type Error = <U as TryFrom<T>>::Error`

🔬 This is a nightly-only experimental API. (`try_from`)

The type returned in the event of a conversion error.

####

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`

[src]

🔬 This is a nightly-only experimental API. (`try_from`)

Performs the conversion.

###

`impl<T> BorrowMut for T where T: ?Sized,`

[src]

####
ⓘImportant traits for &'a mut R

### Important traits for &'a mut R

`impl<'a, R> Read for &'a mut R where
R: Read + ?Sized, impl<'a, W> Write for &'a mut W where
W: Write + ?Sized, impl<'a, I> Iterator for &'a mut I where
I: Iterator + ?Sized, type Item = <I as Iterator>::Item;`

`fn borrow_mut(&mut self) -> &mut T`

[src]

Mutably borrows from an owned value. Read more

###

`impl<T> Any for T where T: 'static + ?Sized,`

[src]

####

`fn get_type_id(&self) -> TypeId`

[src]

🔬 This is a nightly-only experimental API. (`get_type_id`)

this method will likely be replaced by an associated static

Gets the `TypeId` of `self`. Read more

###

`impl<T> Erased for T`

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)

Search multiple things at once by splitting your query with comma (e.g. `str,u8` or `String,struct:Vec,test`)