pub struct u1(/* private fields */);
Expand description
1-bit unsigned integer in the range 0..1
. It can be used instead of bool
when 1-bit numeric (and not boolean) arithmetic is required
Implementations§
Source§impl u1
impl u1
Source§impl u1
impl u1
Sourcepub fn checked_add<T>(self, rhs: T) -> Option<u1>
pub fn checked_add<T>(self, rhs: T) -> Option<u1>
Checked integer addition. Computes self + rhs
, returning None
if
overflow occurred.
Sourcepub fn saturating_add<T>(self, rhs: T) -> u1
pub fn saturating_add<T>(self, rhs: T) -> u1
Saturating integer addition. Computes self + rhs
, saturating at the
numeric bounds instead of overflowing.
Sourcepub fn overflowing_add<T>(self, rhs: T) -> (u1, bool)
pub fn overflowing_add<T>(self, rhs: T) -> (u1, bool)
Calculates self + rhs
Returns a tuple of the addition along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
Sourcepub fn wrapping_add<T>(self, rhs: T) -> u1
pub fn wrapping_add<T>(self, rhs: T) -> u1
Wrapping (modular) addition. Computes self + rhs
, wrapping around at
the boundary of the type.
Sourcepub fn checked_sub<T>(self, rhs: T) -> Option<u1>
pub fn checked_sub<T>(self, rhs: T) -> Option<u1>
Checked integer subtraction. Computes self - rhs
, returning None
if
overflow occurred.
Sourcepub fn saturating_sub<T>(self, rhs: T) -> u1
pub fn saturating_sub<T>(self, rhs: T) -> u1
Saturating integer subtraction. Computes self - rhs
, saturating at the
numeric bounds instead of overflowing.
Sourcepub fn overflowing_sub<T>(self, rhs: T) -> (u1, bool)
pub fn overflowing_sub<T>(self, rhs: T) -> (u1, bool)
Calculates self - rhs
Returns a tuple of the subtraction along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
Sourcepub fn wrapping_sub<T>(self, rhs: T) -> u1
pub fn wrapping_sub<T>(self, rhs: T) -> u1
Wrapping (modular) subtraction. Computes self - rhs
, wrapping around at
the boundary of the type.
Sourcepub fn checked_mul<T>(self, rhs: T) -> Option<u1>
pub fn checked_mul<T>(self, rhs: T) -> Option<u1>
Checked integer multiplication. Computes self * rhs
, returning None
if
overflow occurred.
Sourcepub fn saturating_mul<T>(self, rhs: T) -> u1
pub fn saturating_mul<T>(self, rhs: T) -> u1
Saturating integer multiplication. Computes self * rhs
, saturating at the
numeric bounds instead of overflowing.
Sourcepub fn overflowing_mul<T>(self, rhs: T) -> (u1, bool)
pub fn overflowing_mul<T>(self, rhs: T) -> (u1, bool)
Calculates self * rhs
Returns a tuple of the multiplication along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would have occurred then the wrapped value is returned.
Sourcepub fn wrapping_mul<T>(self, rhs: T) -> u1
pub fn wrapping_mul<T>(self, rhs: T) -> u1
Wrapping (modular) multiplication. Computes self * rhs
, wrapping around at
the boundary of the type.
pub fn div_rem(self, other: u1) -> Result<(u1, u1), DivError>
Trait Implementations§
Source§impl<T> AddAssign<T> for u1
impl<T> AddAssign<T> for u1
Source§fn add_assign(&mut self, rhs: T)
fn add_assign(&mut self, rhs: T)
+=
operation. Read moreSource§impl<T> BitAndAssign<T> for u1
impl<T> BitAndAssign<T> for u1
Source§fn bitand_assign(&mut self, rhs: T)
fn bitand_assign(&mut self, rhs: T)
&=
operation. Read moreSource§impl<T> BitOrAssign<T> for u1
impl<T> BitOrAssign<T> for u1
Source§fn bitor_assign(&mut self, rhs: T)
fn bitor_assign(&mut self, rhs: T)
|=
operation. Read moreSource§impl<T> BitXorAssign<T> for u1
impl<T> BitXorAssign<T> for u1
Source§fn bitxor_assign(&mut self, rhs: T)
fn bitxor_assign(&mut self, rhs: T)
^=
operation. Read moreSource§impl<T> DivAssign<T> for u1
impl<T> DivAssign<T> for u1
Source§fn div_assign(&mut self, rhs: T)
fn div_assign(&mut self, rhs: T)
/=
operation. Read moreSource§impl<T> MulAssign<T> for u1
impl<T> MulAssign<T> for u1
Source§fn mul_assign(&mut self, rhs: T)
fn mul_assign(&mut self, rhs: T)
*=
operation. Read moreSource§impl Ord for u1
impl Ord for u1
Source§impl PartialOrd for u1
impl PartialOrd for u1
Source§impl<T> RemAssign<T> for u1
impl<T> RemAssign<T> for u1
Source§fn rem_assign(&mut self, rhs: T)
fn rem_assign(&mut self, rhs: T)
%=
operation. Read moreSource§impl<T> ShlAssign<T> for u1
impl<T> ShlAssign<T> for u1
Source§fn shl_assign(&mut self, rhs: T)
fn shl_assign(&mut self, rhs: T)
<<=
operation. Read moreSource§impl<T> ShrAssign<T> for u1
impl<T> ShrAssign<T> for u1
Source§fn shr_assign(&mut self, rhs: T)
fn shr_assign(&mut self, rhs: T)
>>=
operation. Read moreSource§impl<T> SubAssign<T> for u1
impl<T> SubAssign<T> for u1
Source§fn sub_assign(&mut self, rhs: T)
fn sub_assign(&mut self, rhs: T)
-=
operation. Read moreimpl Copy for u1
impl Eq for u1
impl StructuralPartialEq for u1
Auto Trait Implementations§
impl Freeze for u1
impl RefUnwindSafe for u1
impl Send for u1
impl Sync for u1
impl Unpin for u1
impl UnwindSafe for u1
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte