Struct apint::UInt [−][src]
pub struct UInt { /* fields omitted */ }
Unsigned machine integer with arbitrary bitwidths and modulo arithmetics.
Thin convenience wrapper around ApInt
for static unsigned interpretation of the value.
This very cheaply transformes to and from ApInt
and Int
instances and together with
Int
offers a more elegant and higher-level abstraction interface to the lower-level ApInt
.
Methods
impl UInt
[src]
impl UInt
pub fn into_apint(self) -> ApInt
[src]
pub fn into_apint(self) -> ApInt
Transforms this UInt
into an equivalent ApInt
instance.
pub fn into_signed(self) -> Int
[src]
pub fn into_signed(self) -> Int
Transforms this UInt
into an equivalent Int
instance.
impl UInt
[src]
impl UInt
pub fn from_bit<B>(bit: B) -> UInt where
B: Into<Bit>,
[src]
pub fn from_bit<B>(bit: B) -> UInt where
B: Into<Bit>,
Creates a new UInt
from the given Bit
value with a bit width of 1
.
This function is generic over types that are convertible to Bit
such as bool
.
pub fn from_u8(val: u8) -> UInt
[src]
pub fn from_u8(val: u8) -> UInt
Creates a new UInt
from a given u8
value with a bit-width of 8.
pub fn from_u16(val: u16) -> UInt
[src]
pub fn from_u16(val: u16) -> UInt
Creates a new UInt
from a given u16
value with a bit-width of 16.
pub fn from_u32(val: u32) -> UInt
[src]
pub fn from_u32(val: u32) -> UInt
Creates a new UInt
from a given u32
value with a bit-width of 32.
pub fn from_u64(val: u64) -> UInt
[src]
pub fn from_u64(val: u64) -> UInt
Creates a new UInt
from a given u64
value with a bit-width of 64.
pub fn from_u128(val: u128) -> UInt
[src]
pub fn from_u128(val: u128) -> UInt
Creates a new UInt
from a given u64
value with a bit-width of 64.
pub fn zero(width: BitWidth) -> UInt
[src]
pub fn zero(width: BitWidth) -> UInt
Creates a new UInt
with the given bit width that represents zero.
pub fn one(width: BitWidth) -> UInt
[src]
pub fn one(width: BitWidth) -> UInt
Creates a new UInt
with the given bit width that represents one.
pub fn all_unset(width: BitWidth) -> UInt
[src]
pub fn all_unset(width: BitWidth) -> UInt
Creates a new UInt
with the given bit width that has all bits unset.
Note: This is equal to calling UInt::zero
with the given width
.
pub fn all_set(width: BitWidth) -> UInt
[src]
pub fn all_set(width: BitWidth) -> UInt
Creates a new UInt
with the given bit width that has all bits set.
Note
- This is equal to minus one on any twos-complement machine.
pub fn min_value(width: BitWidth) -> UInt
[src]
pub fn min_value(width: BitWidth) -> UInt
Returns the smallest UInt
that can be represented by the given BitWidth
.
pub fn max_value(width: BitWidth) -> UInt
[src]
pub fn max_value(width: BitWidth) -> UInt
Returns the largest UInt
that can be represented by the given BitWidth
.
impl UInt
[src]
impl UInt
pub fn is_zero(&self) -> bool
[src]
pub fn is_zero(&self) -> bool
Returns true
if this UInt
represents the value zero (0
).
Note
- Zero (
0
) is also called the additive neutral element. - This operation is more efficient than comparing two instances
of
UInt
for the same reason.
pub fn is_one(&self) -> bool
[src]
pub fn is_one(&self) -> bool
Returns true
if this UInt
represents the value one (1
).
Note
- One (
1
) is also called the multiplicative neutral element. - This operation is more efficient than comparing two instances
of
UInt
for the same reason.
pub fn is_even(&self) -> bool
[src]
pub fn is_even(&self) -> bool
Returns true
if this UInt
represents an even number.
pub fn is_odd(&self) -> bool
[src]
pub fn is_odd(&self) -> bool
Returns true
if this UInt
represents an odd number.
impl UInt
[src]
impl UInt
pub fn checked_lt(&self, rhs: &UInt) -> Result<bool>
[src]
pub fn checked_lt(&self, rhs: &UInt) -> Result<bool>
Less-than (lt
) comparison between self
and rhs
.
Note
- Returns
Ok(true)
ifself < rhs
. - Interprets both
UInt
instances as unsigned values.
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn checked_le(&self, rhs: &UInt) -> Result<bool>
[src]
pub fn checked_le(&self, rhs: &UInt) -> Result<bool>
Less-equals (le
) comparison between self
and rhs
.
Note
- Returns
Ok(true)
ifself <= rhs
. - Interprets both
UInt
instances as unsigned values.
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn checked_gt(&self, rhs: &UInt) -> Result<bool>
[src]
pub fn checked_gt(&self, rhs: &UInt) -> Result<bool>
Greater-than (gt
) comparison between self
and rhs
.
Note
- Returns
Ok(true)
ifself > rhs
. - Interprets both
UInt
instances as unsigned values.
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn checked_ge(&self, rhs: &UInt) -> Result<bool>
[src]
pub fn checked_ge(&self, rhs: &UInt) -> Result<bool>
impl UInt
[src]
impl UInt
pub fn resize_to_bool(&self) -> bool
[src]
pub fn resize_to_bool(&self) -> bool
Resizes this UInt
to a bool
primitive type.
Bits in this UInt
that are not within the bounds
of the bool
are being ignored.
Note
- Basically this returns
true
if the least significant bit of thisUInt
is1
andfalse
otherwise.
pub fn resize_to_u8(&self) -> u8
[src]
pub fn resize_to_u8(&self) -> u8
Resizes this UInt
to a u8
primitive type.
Note
- All bits but the least significant
8
bits are being ignored by this operation to construct the result.
pub fn resize_to_u16(&self) -> u16
[src]
pub fn resize_to_u16(&self) -> u16
Resizes this UInt
to a u16
primitive type.
Note
- All bits but the least significant
16
bits are being ignored by this operation to construct the result.
pub fn resize_to_u32(&self) -> u32
[src]
pub fn resize_to_u32(&self) -> u32
Resizes this UInt
to a u32
primitive type.
Note
- All bits but the least significant
32
bits are being ignored by this operation to construct the result.
pub fn resize_to_u64(&self) -> u64
[src]
pub fn resize_to_u64(&self) -> u64
Resizes this UInt
to a u64
primitive type.
Note
- All bits but the least significant
64
bits are being ignored by this operation to construct the result.
pub fn resize_to_u128(&self) -> u128
[src]
pub fn resize_to_u128(&self) -> u128
Resizes this UInt
to a u128
primitive type.
Note
- All bits but the least significant
128
bits are being ignored by this operation to construct the result.
impl UInt
[src]
impl UInt
pub fn try_to_bool(&self) -> Result<bool>
[src]
pub fn try_to_bool(&self) -> Result<bool>
Tries to represent the value of this UInt
as a bool
.
Note
This returns true
if the value represented by this UInt
is 1
, returns false
if the value represented by this
UInt
is 0
and returns an error otherwise.
Errors
- If the value represented by this
UInt
can not be represented by abool
.
pub fn try_to_u8(&self) -> Result<u8>
[src]
pub fn try_to_u8(&self) -> Result<u8>
Tries to represent the value of this UInt
as a u8
.
Note
- This conversion is possible as long as the value represented
by this
UInt
does not exceed the maximum value ofu8
.
Errors
- If the value represented by this
UInt
can not be represented by au8
.
pub fn try_to_u16(&self) -> Result<u16>
[src]
pub fn try_to_u16(&self) -> Result<u16>
Tries to represent the value of this UInt
as a u16
.
Note
- This conversion is possible as long as the value represented
by this
UInt
does not exceed the maximum value ofu16
.
Errors
- If the value represented by this
UInt
can not be represented by au16
.
pub fn try_to_u32(&self) -> Result<u32>
[src]
pub fn try_to_u32(&self) -> Result<u32>
Tries to represent the value of this UInt
as a u32
.
Note
- This conversion is possible as long as the value represented
by this
UInt
does not exceed the maximum value ofu32
.
Errors
- If the value represented by this
UInt
can not be represented by au32
.
pub fn try_to_u64(&self) -> Result<u64>
[src]
pub fn try_to_u64(&self) -> Result<u64>
Tries to represent the value of this UInt
as a u64
.
Note
- This conversion is possible as long as the value represented
by this
UInt
does not exceed the maximum value ofu64
.
Errors
- If the value represented by this
UInt
can not be represented by au64
.
pub fn try_to_u128(&self) -> Result<u128>
[src]
pub fn try_to_u128(&self) -> Result<u128>
Tries to represent the value of this UInt
as a u128
.
Note
- This conversion is possible as long as the value represented
by this
UInt
does not exceed the maximum value ofu128
.
Complexity
- 𝒪(n) where n is the number of digits of this
UInt
.
Errors
- If the value represented by this
UInt
can not be represented by au128
.
impl UInt
[src]
impl UInt
pub fn checked_shl_assign<S>(&mut self, shift_amount: S) -> Result<()> where
S: Into<ShiftAmount>,
[src]
pub fn checked_shl_assign<S>(&mut self, shift_amount: S) -> Result<()> where
S: Into<ShiftAmount>,
Shift this UInt
left by the given shift_amount
bits.
This operation is inplace and will not allocate memory.
Errors
- If the given
shift_amount
is invalid for the bit width of thisUInt
.
pub fn into_checked_shl<S>(self, shift_amount: S) -> Result<UInt> where
S: Into<ShiftAmount>,
[src]
pub fn into_checked_shl<S>(self, shift_amount: S) -> Result<UInt> where
S: Into<ShiftAmount>,
Shift this UInt
left by the given shift_amount
bits and returns the result.
This operation is inplace and will not allocate memory.
Errors
- If the given
shift_amount
is invalid for the bit width of thisUInt
.
pub fn checked_shr_assign<S>(&mut self, shift_amount: S) -> Result<()> where
S: Into<ShiftAmount>,
[src]
pub fn checked_shr_assign<S>(&mut self, shift_amount: S) -> Result<()> where
S: Into<ShiftAmount>,
Right-shifts this UInt
by the given shift_amount
bits.
This operation is inplace and will not allocate memory.
Errors
- If the given
shift_amount
is invalid for the bit width of thisUInt
.
pub fn into_checked_shr<S>(self, shift_amount: S) -> Result<UInt> where
S: Into<ShiftAmount>,
[src]
pub fn into_checked_shr<S>(self, shift_amount: S) -> Result<UInt> where
S: Into<ShiftAmount>,
Right-shifts this UInt
by the given shift_amount
bits
and returns the result.
This operation is inplace and will not allocate memory.
Errors
- If the given
shift_amount
is invalid for the bit width of thisUInt
.
impl UInt
[src]
impl UInt
pub fn random_with_width(width: BitWidth) -> UInt
[src]
pub fn random_with_width(width: BitWidth) -> UInt
Creates a new UInt
with the given BitWidth
and random Digit
s.
pub fn random_with_width_using<R>(width: BitWidth, rng: &mut R) -> UInt where
R: Rng,
[src]
pub fn random_with_width_using<R>(width: BitWidth, rng: &mut R) -> UInt where
R: Rng,
Creates a new UInt
with the given BitWidth
and random Digit
s
using the given random number generator.
Note: This is useful for cryptographic or testing purposes.
pub fn randomize(&mut self)
[src]
pub fn randomize(&mut self)
Randomizes the digits of this UInt
inplace.
This won't change its BitWidth
.
pub fn randomize_using<R>(&mut self, rng: &mut R) where
R: Rng,
[src]
pub fn randomize_using<R>(&mut self, rng: &mut R) where
R: Rng,
Randomizes the digits of this UInt
inplace using the given
random number generator.
This won't change its BitWidth
.
impl UInt
[src]
impl UInt
pub fn assign(&mut self, rhs: &UInt)
[src]
pub fn assign(&mut self, rhs: &UInt)
Assigns rhs
to this UInt
.
This mutates digits and may affect the bitwidth of self
which might result in an expensive operations.
After this operation rhs
and self
are equal to each other.
pub fn strict_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn strict_assign(&mut self, rhs: &UInt) -> Result<()>
Strictly assigns rhs
to this UInt
.
After this operation rhs
and self
are equal to each other.
Note: Strict assigns protect against mutating the bit width
of self
and thus return an error instead of executing a probably
expensive assign
operation.
Errors
- If
rhs
andself
have unmatching bit widths.
impl UInt
[src]
impl UInt
pub fn into_truncate<W>(self, target_width: W) -> Result<UInt> where
W: Into<BitWidth>,
[src]
pub fn into_truncate<W>(self, target_width: W) -> Result<UInt> where
W: Into<BitWidth>,
Tries to truncate this UInt
inplace to the given target_width
and returns the result.
Note
- This is useful for method chaining.
- For more details look into
truncate
.
Errors
- If the
target_width
is greater than the current width.
pub fn truncate<W>(&mut self, target_width: W) -> Result<()> where
W: Into<BitWidth>,
[src]
pub fn truncate<W>(&mut self, target_width: W) -> Result<()> where
W: Into<BitWidth>,
Tries to truncate this UInt
inplace to the given target_width
.
Note
- This is a no-op if
self.width()
andtarget_width
are equal. - This operation is inplace as long as
self.width()
andtarget_width
require the same amount of digits for their representation.
Errors
- If the
target_width
is greater than the current width.
pub fn into_extend<W>(self, target_width: W) -> Result<UInt> where
W: Into<BitWidth>,
[src]
pub fn into_extend<W>(self, target_width: W) -> Result<UInt> where
W: Into<BitWidth>,
Tries to zero-extend this UInt
inplace to the given target_width
and returns the result.
Note
- This is useful for method chaining.
- For more details look into
extend
.
Errors
- If the
target_width
is less than the current width.
pub fn extend<W>(&mut self, target_width: W) -> Result<()> where
W: Into<BitWidth>,
[src]
pub fn extend<W>(&mut self, target_width: W) -> Result<()> where
W: Into<BitWidth>,
Tries to extend this UInt
inplace to the given target_width
.
Note
- This is a no-op if
self.width()
andtarget_width
are equal. - This operation is inplace as long as
self.width()
andtarget_width
require the same amount of digits for their representation.
Errors
- If the
target_width
is less than the current width.
pub fn into_resize<W>(self, target_width: W) -> UInt where
W: Into<BitWidth>,
[src]
pub fn into_resize<W>(self, target_width: W) -> UInt where
W: Into<BitWidth>,
Resizes this UInt
to the given target_width
and returns the result.
Note
- This is useful for method chaining.
- For more details look into
resize
.
pub fn resize<W>(&mut self, target_width: W) where
W: Into<BitWidth>,
[src]
pub fn resize<W>(&mut self, target_width: W) where
W: Into<BitWidth>,
impl UInt
[src]
impl UInt
pub fn into_bitnot(self) -> Self
[src]
pub fn into_bitnot(self) -> Self
Flips all bits of self
and returns the result.
pub fn bitnot(&mut self)
[src]
pub fn bitnot(&mut self)
Flip all bits of this UInt
inplace.
pub fn into_checked_bitand(self, rhs: &UInt) -> Result<UInt>
[src]
pub fn into_checked_bitand(self, rhs: &UInt) -> Result<UInt>
Tries to bit-and assign this UInt
inplace to rhs
and returns the result.
Note: This forwards to
checked_bitand
.
Errors
If self
and rhs
have unmatching bit widths.
pub fn checked_bitand_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn checked_bitand_assign(&mut self, rhs: &UInt) -> Result<()>
Bit-and assigns all bits of this UInt
with the bits of rhs
.
Note: This operation is inplace of self
and won't allocate memory.
Errors
If self
and rhs
have unmatching bit widths.
pub fn into_checked_bitor(self, rhs: &UInt) -> Result<UInt>
[src]
pub fn into_checked_bitor(self, rhs: &UInt) -> Result<UInt>
Tries to bit-and assign this UInt
inplace to rhs
and returns the result.
Note: This forwards to
checked_bitor
.
Errors
If self
and rhs
have unmatching bit widths.
pub fn checked_bitor_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn checked_bitor_assign(&mut self, rhs: &UInt) -> Result<()>
Bit-or assigns all bits of this UInt
with the bits of rhs
.
Note: This operation is inplace of self
and won't allocate memory.
Errors
If self
and rhs
have unmatching bit widths.
pub fn into_checked_bitxor(self, rhs: &UInt) -> Result<UInt>
[src]
pub fn into_checked_bitxor(self, rhs: &UInt) -> Result<UInt>
Tries to bit-xor assign this UInt
inplace to rhs
and returns the result.
Note: This forwards to
checked_bitxor
.
Errors
If self
and rhs
have unmatching bit widths.
pub fn checked_bitxor_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn checked_bitxor_assign(&mut self, rhs: &UInt) -> Result<()>
Bit-xor assigns all bits of this UInt
with the bits of rhs
.
Note: This operation is inplace of self
and won't allocate memory.
Errors
If self
and rhs
have unmatching bit widths.
impl UInt
[src]
impl UInt
pub fn get_bit_at<P>(&self, pos: P) -> Result<Bit> where
P: Into<BitPos>,
[src]
pub fn get_bit_at<P>(&self, pos: P) -> Result<Bit> where
P: Into<BitPos>,
Returns the bit at the given bit position pos
.
This returns
Bit::Set
if the bit atpos
is1
Bit::Unset
otherwise
Errors
- If
pos
is not a valid bit position for the width of thisUInt
.
pub fn set_bit_at<P>(&mut self, pos: P) -> Result<()> where
P: Into<BitPos>,
[src]
pub fn set_bit_at<P>(&mut self, pos: P) -> Result<()> where
P: Into<BitPos>,
Sets the bit at the given bit position pos
to one (1
).
Errors
- If
pos
is not a valid bit position for the width of thisUInt
.
pub fn unset_bit_at<P>(&mut self, pos: P) -> Result<()> where
P: Into<BitPos>,
[src]
pub fn unset_bit_at<P>(&mut self, pos: P) -> Result<()> where
P: Into<BitPos>,
Sets the bit at the given bit position pos
to zero (0
).
Errors
- If
pos
is not a valid bit position for the width of thisUInt
.
pub fn flip_bit_at<P>(&mut self, pos: P) -> Result<()> where
P: Into<BitPos>,
[src]
pub fn flip_bit_at<P>(&mut self, pos: P) -> Result<()> where
P: Into<BitPos>,
Flips the bit at the given bit position pos
.
Note
- If the bit at the given position was
0
it will be1
after this operation and vice versa.
Errors
- If
pos
is not a valid bit position for the width of thisUInt
.
pub fn set_all(&mut self)
[src]
pub fn set_all(&mut self)
Sets all bits of this UInt
to one (1
).
pub fn is_all_set(&self) -> bool
[src]
pub fn is_all_set(&self) -> bool
Returns true
if all bits in this UInt
are set.
pub fn unset_all(&mut self)
[src]
pub fn unset_all(&mut self)
Sets all bits of this UInt
to zero (0
).
pub fn is_all_unset(&self) -> bool
[src]
pub fn is_all_unset(&self) -> bool
Returns true
if all bits in this UInt
are unset.
pub fn flip_all(&mut self)
[src]
pub fn flip_all(&mut self)
Flips all bits of this UInt
.
impl UInt
[src]
impl UInt
pub fn count_ones(&self) -> usize
[src]
pub fn count_ones(&self) -> usize
Returns the number of ones in the binary representation of this UInt
.
pub fn count_zeros(&self) -> usize
[src]
pub fn count_zeros(&self) -> usize
Returns the number of zeros in the binary representation of this UInt
.
pub fn leading_zeros(&self) -> usize
[src]
pub fn leading_zeros(&self) -> usize
Returns the number of leading zeros in the binary representation of this UInt
.
pub fn trailing_zeros(&self) -> usize
[src]
pub fn trailing_zeros(&self) -> usize
Returns the number of trailing zeros in the binary representation of this UInt
.
impl UInt
[src]
impl UInt
pub fn into_checked_add(self, rhs: &UInt) -> Result<UInt>
[src]
pub fn into_checked_add(self, rhs: &UInt) -> Result<UInt>
Adds rhs
to self
and returns the result.
Note: This will not allocate memory.
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn checked_add_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn checked_add_assign(&mut self, rhs: &UInt) -> Result<()>
Add-assigns rhs
to self
inplace.
Note: This will not allocate memory.
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn into_checked_sub(self, rhs: &UInt) -> Result<UInt>
[src]
pub fn into_checked_sub(self, rhs: &UInt) -> Result<UInt>
Subtracts rhs
from self
and returns the result.
Note
In the low-level bit-wise representation there is no difference between signed and unsigned subtraction of fixed bit-width integers. (Cite: LLVM)
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn checked_sub_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn checked_sub_assign(&mut self, rhs: &UInt) -> Result<()>
Subtract-assigns rhs
from self
inplace.
Note
In the low-level bit-wise representation there is no difference between signed and unsigned subtraction of fixed bit-width integers. (Cite: LLVM)
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn into_checked_mul(self, rhs: &UInt) -> Result<UInt>
[src]
pub fn into_checked_mul(self, rhs: &UInt) -> Result<UInt>
Subtracts rhs
from self
and returns the result.
Note
In the low-level bit-wise representation there is no difference between signed and unsigned multiplication of fixed bit-width integers. (Cite: LLVM)
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn checked_mul_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn checked_mul_assign(&mut self, rhs: &UInt) -> Result<()>
Multiply-assigns rhs
to self
inplace.
Note
In the low-level bit-wise representation there is no difference between signed and unsigned multiplication of fixed bit-width integers. (Cite: LLVM)
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn into_checked_div(self, rhs: &UInt) -> Result<UInt>
[src]
pub fn into_checked_div(self, rhs: &UInt) -> Result<UInt>
Divides self
by rhs
and returns the result.
Note
- This operation will not allocate memory and computes inplace of
self
. - In the low-level machine abstraction signed division and unsigned division are two different operations.
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn checked_div_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn checked_div_assign(&mut self, rhs: &UInt) -> Result<()>
Assignes self
to the division of self
by rhs
.
Note
- This operation will not allocate memory and computes inplace of
self
. - In the low-level machine abstraction signed division and unsigned division are two different operations.
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn into_checked_rem(self, rhs: &UInt) -> Result<UInt>
[src]
pub fn into_checked_rem(self, rhs: &UInt) -> Result<UInt>
Calculates the unsigned remainder of self
by rhs
and returns the result.
Note
- This operation will not allocate memory and computes inplace of
self
. - In the low-level machine abstraction signed division and unsigned division are two different operations.
Errors
- If
self
andrhs
have unmatching bit widths.
pub fn checked_rem_assign(&mut self, rhs: &UInt) -> Result<()>
[src]
pub fn checked_rem_assign(&mut self, rhs: &UInt) -> Result<()>
Trait Implementations
impl Debug for UInt
[src]
impl Debug for UInt
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Clone for UInt
[src]
impl Clone for UInt
fn clone(&self) -> UInt
[src]
fn clone(&self) -> UInt
Returns a copy of the value. Read more
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 PartialEq for UInt
[src]
impl PartialEq for UInt
fn eq(&self, other: &UInt) -> bool
[src]
fn eq(&self, other: &UInt) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &UInt) -> bool
[src]
fn ne(&self, other: &UInt) -> bool
This method tests for !=
.
impl Eq for UInt
[src]
impl Eq for UInt
impl Hash for UInt
[src]
impl Hash for UInt
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
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]
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 From<ApInt> for UInt
[src]
impl From<ApInt> for UInt
impl<B> From<B> for UInt where
B: Into<Bit>,
[src]
impl<B> From<B> for UInt where
B: Into<Bit>,
impl From<u8> for UInt
[src]
impl From<u8> for UInt
impl From<u16> for UInt
[src]
impl From<u16> for UInt
impl From<u32> for UInt
[src]
impl From<u32> for UInt
impl From<u64> for UInt
[src]
impl From<u64> for UInt
impl From<u128> for UInt
[src]
impl From<u128> for UInt
impl From<[u64; 2]> for UInt
[src]
impl From<[u64; 2]> for UInt
impl From<[u64; 3]> for UInt
[src]
impl From<[u64; 3]> for UInt
impl From<[u64; 4]> for UInt
[src]
impl From<[u64; 4]> for UInt
impl From<[u64; 5]> for UInt
[src]
impl From<[u64; 5]> for UInt
impl From<[u64; 6]> for UInt
[src]
impl From<[u64; 6]> for UInt
impl From<[u64; 7]> for UInt
[src]
impl From<[u64; 7]> for UInt
impl From<[u64; 8]> for UInt
[src]
impl From<[u64; 8]> for UInt
impl From<[u64; 16]> for UInt
[src]
impl From<[u64; 16]> for UInt
impl From<[u64; 32]> for UInt
[src]
impl From<[u64; 32]> for UInt
impl PartialOrd for UInt
[src]
impl PartialOrd for UInt
fn partial_cmp(&self, rhs: &UInt) -> Option<Ordering>
[src]
fn partial_cmp(&self, rhs: &UInt) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, rhs: &UInt) -> bool
[src]
fn lt(&self, rhs: &UInt) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, rhs: &UInt) -> bool
[src]
fn le(&self, rhs: &UInt) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, rhs: &UInt) -> bool
[src]
fn gt(&self, rhs: &UInt) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, rhs: &UInt) -> bool
[src]
fn ge(&self, rhs: &UInt) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl<S> Shl<S> for UInt where
S: Into<ShiftAmount>,
[src]
impl<S> Shl<S> for UInt where
S: Into<ShiftAmount>,
type Output = UInt
The resulting type after applying the <<
operator.
fn shl(self, shift_amount: S) -> Self::Output
[src]
fn shl(self, shift_amount: S) -> Self::Output
Performs the <<
operation.
impl<S> Shr<S> for UInt where
S: Into<ShiftAmount>,
[src]
impl<S> Shr<S> for UInt where
S: Into<ShiftAmount>,
type Output = UInt
The resulting type after applying the >>
operator.
fn shr(self, shift_amount: S) -> Self::Output
[src]
fn shr(self, shift_amount: S) -> Self::Output
Performs the >>
operation.
impl<S> ShlAssign<S> for UInt where
S: Into<ShiftAmount>,
[src]
impl<S> ShlAssign<S> for UInt where
S: Into<ShiftAmount>,
fn shl_assign(&mut self, shift_amount: S)
[src]
fn shl_assign(&mut self, shift_amount: S)
Performs the <<=
operation.
impl<S> ShrAssign<S> for UInt where
S: Into<ShiftAmount>,
[src]
impl<S> ShrAssign<S> for UInt where
S: Into<ShiftAmount>,
fn shr_assign(&mut self, shift_amount: S)
[src]
fn shr_assign(&mut self, shift_amount: S)
Performs the >>=
operation.
impl Not for UInt
[src]
impl Not for UInt
type Output = UInt
The resulting type after applying the !
operator.
fn not(self) -> Self::Output
[src]
fn not(self) -> Self::Output
Performs the unary !
operation.
impl<'a> BitAnd<&'a UInt> for UInt
[src]
impl<'a> BitAnd<&'a UInt> for UInt
type Output = UInt
The resulting type after applying the &
operator.
fn bitand(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitand(self, rhs: &'a UInt) -> Self::Output
Performs the &
operation.
impl<'a, 'b> BitAnd<&'a UInt> for &'b UInt
[src]
impl<'a, 'b> BitAnd<&'a UInt> for &'b UInt
type Output = UInt
The resulting type after applying the &
operator.
fn bitand(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitand(self, rhs: &'a UInt) -> Self::Output
Performs the &
operation.
impl<'a, 'b> BitAnd<&'a UInt> for &'b mut UInt
[src]
impl<'a, 'b> BitAnd<&'a UInt> for &'b mut UInt
type Output = UInt
The resulting type after applying the &
operator.
fn bitand(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitand(self, rhs: &'a UInt) -> Self::Output
Performs the &
operation.
impl<'a> BitOr<&'a UInt> for UInt
[src]
impl<'a> BitOr<&'a UInt> for UInt
type Output = UInt
The resulting type after applying the |
operator.
fn bitor(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitor(self, rhs: &'a UInt) -> Self::Output
Performs the |
operation.
impl<'a, 'b> BitOr<&'a UInt> for &'b UInt
[src]
impl<'a, 'b> BitOr<&'a UInt> for &'b UInt
type Output = UInt
The resulting type after applying the |
operator.
fn bitor(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitor(self, rhs: &'a UInt) -> Self::Output
Performs the |
operation.
impl<'a, 'b> BitOr<&'a UInt> for &'b mut UInt
[src]
impl<'a, 'b> BitOr<&'a UInt> for &'b mut UInt
type Output = UInt
The resulting type after applying the |
operator.
fn bitor(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitor(self, rhs: &'a UInt) -> Self::Output
Performs the |
operation.
impl<'a> BitXor<&'a UInt> for UInt
[src]
impl<'a> BitXor<&'a UInt> for UInt
type Output = UInt
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitxor(self, rhs: &'a UInt) -> Self::Output
Performs the ^
operation.
impl<'a, 'b> BitXor<&'a UInt> for &'b UInt
[src]
impl<'a, 'b> BitXor<&'a UInt> for &'b UInt
type Output = UInt
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitxor(self, rhs: &'a UInt) -> Self::Output
Performs the ^
operation.
impl<'a, 'b> BitXor<&'a UInt> for &'b mut UInt
[src]
impl<'a, 'b> BitXor<&'a UInt> for &'b mut UInt
type Output = UInt
The resulting type after applying the ^
operator.
fn bitxor(self, rhs: &'a UInt) -> Self::Output
[src]
fn bitxor(self, rhs: &'a UInt) -> Self::Output
Performs the ^
operation.
impl<'a> BitAndAssign<&'a UInt> for UInt
[src]
impl<'a> BitAndAssign<&'a UInt> for UInt
fn bitand_assign(&mut self, rhs: &'a UInt)
[src]
fn bitand_assign(&mut self, rhs: &'a UInt)
Performs the &=
operation.
impl<'a> BitOrAssign<&'a UInt> for UInt
[src]
impl<'a> BitOrAssign<&'a UInt> for UInt
fn bitor_assign(&mut self, rhs: &'a UInt)
[src]
fn bitor_assign(&mut self, rhs: &'a UInt)
Performs the |=
operation.
impl<'a> BitXorAssign<&'a UInt> for UInt
[src]
impl<'a> BitXorAssign<&'a UInt> for UInt
fn bitxor_assign(&mut self, rhs: &'a UInt)
[src]
fn bitxor_assign(&mut self, rhs: &'a UInt)
Performs the ^=
operation.
impl<'a> Add<&'a UInt> for UInt
[src]
impl<'a> Add<&'a UInt> for UInt
type Output = UInt
The resulting type after applying the +
operator.
fn add(self, rhs: &'a UInt) -> Self::Output
[src]
fn add(self, rhs: &'a UInt) -> Self::Output
Performs the +
operation.
impl<'a, 'b> Add<&'a UInt> for &'b UInt
[src]
impl<'a, 'b> Add<&'a UInt> for &'b UInt
type Output = UInt
The resulting type after applying the +
operator.
fn add(self, rhs: &'a UInt) -> Self::Output
[src]
fn add(self, rhs: &'a UInt) -> Self::Output
Performs the +
operation.
impl<'a> AddAssign<&'a UInt> for UInt
[src]
impl<'a> AddAssign<&'a UInt> for UInt
fn add_assign(&mut self, rhs: &'a UInt)
[src]
fn add_assign(&mut self, rhs: &'a UInt)
Performs the +=
operation.
impl<'a> Sub<&'a UInt> for UInt
[src]
impl<'a> Sub<&'a UInt> for UInt
type Output = UInt
The resulting type after applying the -
operator.
fn sub(self, rhs: &'a UInt) -> Self::Output
[src]
fn sub(self, rhs: &'a UInt) -> Self::Output
Performs the -
operation.
impl<'a, 'b> Sub<&'a UInt> for &'b UInt
[src]
impl<'a, 'b> Sub<&'a UInt> for &'b UInt
type Output = UInt
The resulting type after applying the -
operator.
fn sub(self, rhs: &'a UInt) -> Self::Output
[src]
fn sub(self, rhs: &'a UInt) -> Self::Output
Performs the -
operation.
impl<'a> SubAssign<&'a UInt> for UInt
[src]
impl<'a> SubAssign<&'a UInt> for UInt
fn sub_assign(&mut self, rhs: &'a UInt)
[src]
fn sub_assign(&mut self, rhs: &'a UInt)
Performs the -=
operation.
impl<'a> Mul<&'a UInt> for UInt
[src]
impl<'a> Mul<&'a UInt> for UInt
type Output = UInt
The resulting type after applying the *
operator.
fn mul(self, rhs: &'a UInt) -> Self::Output
[src]
fn mul(self, rhs: &'a UInt) -> Self::Output
Performs the *
operation.
impl<'a, 'b> Mul<&'a UInt> for &'b UInt
[src]
impl<'a, 'b> Mul<&'a UInt> for &'b UInt
type Output = UInt
The resulting type after applying the *
operator.
fn mul(self, rhs: &'a UInt) -> Self::Output
[src]
fn mul(self, rhs: &'a UInt) -> Self::Output
Performs the *
operation.
impl<'a> MulAssign<&'a UInt> for UInt
[src]
impl<'a> MulAssign<&'a UInt> for UInt
fn mul_assign(&mut self, rhs: &'a UInt)
[src]
fn mul_assign(&mut self, rhs: &'a UInt)
Performs the *=
operation.
impl<'a> Div<&'a UInt> for UInt
[src]
impl<'a> Div<&'a UInt> for UInt
type Output = UInt
The resulting type after applying the /
operator.
fn div(self, rhs: &'a UInt) -> Self::Output
[src]
fn div(self, rhs: &'a UInt) -> Self::Output
Performs the /
operation.
impl<'a, 'b> Div<&'a UInt> for &'b UInt
[src]
impl<'a, 'b> Div<&'a UInt> for &'b UInt
type Output = UInt
The resulting type after applying the /
operator.
fn div(self, rhs: &'a UInt) -> Self::Output
[src]
fn div(self, rhs: &'a UInt) -> Self::Output
Performs the /
operation.
impl<'a> DivAssign<&'a UInt> for UInt
[src]
impl<'a> DivAssign<&'a UInt> for UInt
fn div_assign(&mut self, rhs: &'a UInt)
[src]
fn div_assign(&mut self, rhs: &'a UInt)
Performs the /=
operation.
impl<'a> Rem<&'a UInt> for UInt
[src]
impl<'a> Rem<&'a UInt> for UInt
type Output = UInt
The resulting type after applying the %
operator.
fn rem(self, rhs: &'a UInt) -> Self::Output
[src]
fn rem(self, rhs: &'a UInt) -> Self::Output
Performs the %
operation.
impl<'a, 'b> Rem<&'a UInt> for &'b UInt
[src]
impl<'a, 'b> Rem<&'a UInt> for &'b UInt
type Output = UInt
The resulting type after applying the %
operator.
fn rem(self, rhs: &'a UInt) -> Self::Output
[src]
fn rem(self, rhs: &'a UInt) -> Self::Output
Performs the %
operation.
impl<'a> RemAssign<&'a UInt> for UInt
[src]
impl<'a> RemAssign<&'a UInt> for UInt
fn rem_assign(&mut self, rhs: &'a UInt)
[src]
fn rem_assign(&mut self, rhs: &'a UInt)
Performs the %=
operation.
impl Binary for UInt
[src]
impl Binary for UInt
impl Octal for UInt
[src]
impl Octal for UInt
impl LowerHex for UInt
[src]
impl LowerHex for UInt
impl UpperHex for UInt
[src]
impl UpperHex for UInt