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<Self>
pub fn checked_add<T>(self, rhs: T) -> Option<Self>
Checked integer addition. Computes self + rhs
, returning None
if
overflow occurred.
Sourcepub fn saturating_add<T>(self, rhs: T) -> Self
pub fn saturating_add<T>(self, rhs: T) -> Self
Saturating integer addition. Computes self + rhs
, saturating at the
numeric bounds instead of overflowing.
Sourcepub fn overflowing_add<T>(self, rhs: T) -> (Self, bool)
pub fn overflowing_add<T>(self, rhs: T) -> (Self, 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) -> Self
pub fn wrapping_add<T>(self, rhs: T) -> Self
Wrapping (modular) addition. Computes self + rhs
, wrapping around at
the boundary of the type.
Sourcepub fn checked_sub<T>(self, rhs: T) -> Option<Self>
pub fn checked_sub<T>(self, rhs: T) -> Option<Self>
Checked integer subtraction. Computes self - rhs
, returning None
if
overflow occurred.
Sourcepub fn saturating_sub<T>(self, rhs: T) -> Self
pub fn saturating_sub<T>(self, rhs: T) -> Self
Saturating integer subtraction. Computes self - rhs
, saturating at the
numeric bounds instead of overflowing.
Sourcepub fn overflowing_sub<T>(self, rhs: T) -> (Self, bool)
pub fn overflowing_sub<T>(self, rhs: T) -> (Self, 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) -> Self
pub fn wrapping_sub<T>(self, rhs: T) -> Self
Wrapping (modular) subtraction. Computes self - rhs
, wrapping around at
the boundary of the type.
Sourcepub fn checked_mul<T>(self, rhs: T) -> Option<Self>
pub fn checked_mul<T>(self, rhs: T) -> Option<Self>
Checked integer multiplication. Computes self * rhs
, returning None
if
overflow occurred.
Sourcepub fn saturating_mul<T>(self, rhs: T) -> Self
pub fn saturating_mul<T>(self, rhs: T) -> Self
Saturating integer multiplication. Computes self * rhs
, saturating at the
numeric bounds instead of overflowing.
Sourcepub fn overflowing_mul<T>(self, rhs: T) -> (Self, bool)
pub fn overflowing_mul<T>(self, rhs: T) -> (Self, 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) -> Self
pub fn wrapping_mul<T>(self, rhs: T) -> Self
Wrapping (modular) multiplication. Computes self * rhs
, wrapping around at
the boundary of the type.
pub fn div_rem(self, other: Self) -> Result<(Self, Self), 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 more