Expand description
The 32-bit signed integer type.
Implementations
impl i32
source
impl i32
sourcepub fn from_str_radix(src: &str, radix: u32) -> Result<Self, ParseIntError>
source
pub fn from_str_radix(src: &str, radix: u32) -> Result<Self, ParseIntError>
sourceConverts a string slice in a given base to an integer.
The string is expected to be an optional + or - sign followed by digits.
Leading and trailing whitespace represent an error. Digits are a subset of these characters,
depending on radix:
0-9a-zA-Z
Panics
This function panics if radix is not in the range from 2 to 36.
Examples
Basic usage:
assert_eq!(i32::from_str_radix("A", 16), Ok(10));Runpub const fn count_ones(self) -> u32
const: 1.32.0 · source
pub const fn count_ones(self) -> u32
const: 1.32.0 · sourcepub const fn count_zeros(self) -> u32
const: 1.32.0 · source
pub const fn count_zeros(self) -> u32
const: 1.32.0 · sourcepub const fn leading_zeros(self) -> u32
const: 1.32.0 · source
pub const fn leading_zeros(self) -> u32
const: 1.32.0 · sourcepub const fn trailing_zeros(self) -> u32
const: 1.32.0 · source
pub const fn trailing_zeros(self) -> u32
const: 1.32.0 · sourcepub const fn leading_ones(self) -> u32
1.46.0 (const: 1.46.0) · source
pub const fn leading_ones(self) -> u32
1.46.0 (const: 1.46.0) · sourcepub const fn trailing_ones(self) -> u32
1.46.0 (const: 1.46.0) · source
pub const fn trailing_ones(self) -> u32
1.46.0 (const: 1.46.0) · sourcepub const fn rotate_left(self, n: u32) -> Self
const: 1.32.0 · source
pub const fn rotate_left(self, n: u32) -> Self
const: 1.32.0 · sourcepub const fn rotate_right(self, n: u32) -> Self
const: 1.32.0 · source
pub const fn rotate_right(self, n: u32) -> Self
const: 1.32.0 · sourcepub const fn swap_bytes(self) -> Self
const: 1.32.0 · source
pub const fn swap_bytes(self) -> Self
const: 1.32.0 · sourcepub const fn reverse_bits(self) -> Self
1.37.0 (const: 1.37.0) · source
pub const fn reverse_bits(self) -> Self
1.37.0 (const: 1.37.0) · sourceReverses the order of bits in the integer. The least significant bit becomes the most significant bit, second least-significant bit becomes second most-significant bit, etc.
Examples
Basic usage:
let n = 0x12345678i32;
let m = n.reverse_bits();
assert_eq!(m, 0x1e6a2c48);
assert_eq!(0, 0i32.reverse_bits());Runpub const fn from_le(x: Self) -> Self
const: 1.32.0 · source
pub const fn from_le(x: Self) -> Self
const: 1.32.0 · sourceConverts an integer from little endian to the target’s endianness.
On little endian this is a no-op. On big endian the bytes are swapped.
Examples
Basic usage:
let n = 0x1Ai32;
if cfg!(target_endian = "little") {
assert_eq!(i32::from_le(n), n)
} else {
assert_eq!(i32::from_le(n), n.swap_bytes())
}Runpub const fn checked_add(self, rhs: Self) -> Option<Self>
const: 1.47.0 · source
pub const fn checked_add(self, rhs: Self) -> Option<Self>
const: 1.47.0 · sourcepub unsafe fn unchecked_add(self, rhs: Self) -> Self
const: unstable · source
pub unsafe fn unchecked_add(self, rhs: Self) -> Self
const: unstable · sourceUnchecked integer addition. Computes self + rhs, assuming overflow
cannot occur.
Safety
This results in undefined behavior when
self + rhs > i32::MAX or self + rhs < i32::MIN,
i.e. when checked_add would return None.
pub fn checked_add_unsigned(self, rhs: u32) -> Option<Self>
const: unstable · source
pub fn checked_add_unsigned(self, rhs: u32) -> Option<Self>
const: unstable · sourcepub const fn checked_sub(self, rhs: Self) -> Option<Self>
const: 1.47.0 · source
pub const fn checked_sub(self, rhs: Self) -> Option<Self>
const: 1.47.0 · sourcepub unsafe fn unchecked_sub(self, rhs: Self) -> Self
const: unstable · source
pub unsafe fn unchecked_sub(self, rhs: Self) -> Self
const: unstable · sourceUnchecked integer subtraction. Computes self - rhs, assuming overflow
cannot occur.
Safety
This results in undefined behavior when
self - rhs > i32::MAX or self - rhs < i32::MIN,
i.e. when checked_sub would return None.
pub fn checked_sub_unsigned(self, rhs: u32) -> Option<Self>
const: unstable · source
pub fn checked_sub_unsigned(self, rhs: u32) -> Option<Self>
const: unstable · sourcepub const fn checked_mul(self, rhs: Self) -> Option<Self>
const: 1.47.0 · source
pub const fn checked_mul(self, rhs: Self) -> Option<Self>
const: 1.47.0 · sourcepub unsafe fn unchecked_mul(self, rhs: Self) -> Self
const: unstable · source
pub unsafe fn unchecked_mul(self, rhs: Self) -> Self
const: unstable · sourceUnchecked integer multiplication. Computes self * rhs, assuming overflow
cannot occur.
Safety
This results in undefined behavior when
self * rhs > i32::MAX or self * rhs < i32::MIN,
i.e. when checked_mul would return None.
pub const fn checked_div(self, rhs: Self) -> Option<Self>
const: 1.52.0 · source
pub const fn checked_div(self, rhs: Self) -> Option<Self>
const: 1.52.0 · sourcepub const fn checked_div_euclid(self, rhs: Self) -> Option<Self>
1.38.0 (const: 1.52.0) · source
pub const fn checked_div_euclid(self, rhs: Self) -> Option<Self>
1.38.0 (const: 1.52.0) · sourceChecked Euclidean division. Computes self.div_euclid(rhs),
returning None if rhs == 0 or the division results in overflow.
Examples
Basic usage:
assert_eq!((i32::MIN + 1).checked_div_euclid(-1), Some(2147483647));
assert_eq!(i32::MIN.checked_div_euclid(-1), None);
assert_eq!((1i32).checked_div_euclid(0), None);Runpub const fn checked_rem(self, rhs: Self) -> Option<Self>
1.7.0 (const: 1.52.0) · source
pub const fn checked_rem(self, rhs: Self) -> Option<Self>
1.7.0 (const: 1.52.0) · sourcepub const fn checked_rem_euclid(self, rhs: Self) -> Option<Self>
1.38.0 (const: 1.52.0) · source
pub const fn checked_rem_euclid(self, rhs: Self) -> Option<Self>
1.38.0 (const: 1.52.0) · sourcepub const fn checked_neg(self) -> Option<Self>
1.7.0 (const: 1.47.0) · source
pub const fn checked_neg(self) -> Option<Self>
1.7.0 (const: 1.47.0) · sourcepub const fn checked_shl(self, rhs: u32) -> Option<Self>
1.7.0 (const: 1.47.0) · source
pub const fn checked_shl(self, rhs: u32) -> Option<Self>
1.7.0 (const: 1.47.0) · sourcepub unsafe fn unchecked_shl(self, rhs: Self) -> Self
const: unstable · source
pub unsafe fn unchecked_shl(self, rhs: Self) -> Self
const: unstable · sourceUnchecked shift left. Computes self << rhs, assuming that
rhs is less than the number of bits in self.
Safety
This results in undefined behavior if rhs is larger than
or equal to the number of bits in self,
i.e. when checked_shl would return None.
pub const fn checked_shr(self, rhs: u32) -> Option<Self>
1.7.0 (const: 1.47.0) · source
pub const fn checked_shr(self, rhs: u32) -> Option<Self>
1.7.0 (const: 1.47.0) · sourcepub unsafe fn unchecked_shr(self, rhs: Self) -> Self
const: unstable · source
pub unsafe fn unchecked_shr(self, rhs: Self) -> Self
const: unstable · sourceUnchecked shift right. Computes self >> rhs, assuming that
rhs is less than the number of bits in self.
Safety
This results in undefined behavior if rhs is larger than
or equal to the number of bits in self,
i.e. when checked_shr would return None.
pub const fn checked_abs(self) -> Option<Self>
1.13.0 (const: 1.47.0) · source
pub const fn checked_abs(self) -> Option<Self>
1.13.0 (const: 1.47.0) · sourcepub const fn checked_pow(self, exp: u32) -> Option<Self>
1.34.0 (const: 1.50.0) · source
pub const fn checked_pow(self, exp: u32) -> Option<Self>
1.34.0 (const: 1.50.0) · sourcepub const fn saturating_add(self, rhs: Self) -> Self
const: 1.47.0 · source
pub const fn saturating_add(self, rhs: Self) -> Self
const: 1.47.0 · sourcepub fn saturating_add_unsigned(self, rhs: u32) -> Self
const: unstable · source
pub fn saturating_add_unsigned(self, rhs: u32) -> Self
const: unstable · sourcepub const fn saturating_sub(self, rhs: Self) -> Self
const: 1.47.0 · source
pub const fn saturating_sub(self, rhs: Self) -> Self
const: 1.47.0 · sourcepub fn saturating_sub_unsigned(self, rhs: u32) -> Self
const: unstable · source
pub fn saturating_sub_unsigned(self, rhs: u32) -> Self
const: unstable · sourcepub const fn saturating_neg(self) -> Self
1.45.0 (const: 1.47.0) · source
pub const fn saturating_neg(self) -> Self
1.45.0 (const: 1.47.0) · sourceSaturating integer negation. Computes -self, returning MAX if self == MIN
instead of overflowing.
Examples
Basic usage:
assert_eq!(100i32.saturating_neg(), -100);
assert_eq!((-100i32).saturating_neg(), 100);
assert_eq!(i32::MIN.saturating_neg(), i32::MAX);
assert_eq!(i32::MAX.saturating_neg(), i32::MIN + 1);Runpub const fn saturating_abs(self) -> Self
1.45.0 (const: 1.47.0) · source
pub const fn saturating_abs(self) -> Self
1.45.0 (const: 1.47.0) · sourceSaturating absolute value. Computes self.abs(), returning MAX if self == MIN instead of overflowing.
Examples
Basic usage:
assert_eq!(100i32.saturating_abs(), 100);
assert_eq!((-100i32).saturating_abs(), 100);
assert_eq!(i32::MIN.saturating_abs(), i32::MAX);
assert_eq!((i32::MIN + 1).saturating_abs(), i32::MAX);Runpub const fn saturating_mul(self, rhs: Self) -> Self
1.7.0 (const: 1.47.0) · source
pub const fn saturating_mul(self, rhs: Self) -> Self
1.7.0 (const: 1.47.0) · sourcepub const fn saturating_div(self, rhs: Self) -> Self
1.58.0 (const: 1.58.0) · source
pub const fn saturating_div(self, rhs: Self) -> Self
1.58.0 (const: 1.58.0) · sourceSaturating integer division. Computes self / rhs, saturating at the
numeric bounds instead of overflowing.
Examples
Basic usage:
assert_eq!(5i32.saturating_div(2), 2);
assert_eq!(i32::MAX.saturating_div(-1), i32::MIN + 1);
assert_eq!(i32::MIN.saturating_div(-1), i32::MAX);
Runlet _ = 1i32.saturating_div(0);
Runpub const fn saturating_pow(self, exp: u32) -> Self
1.34.0 (const: 1.50.0) · source
pub const fn saturating_pow(self, exp: u32) -> Self
1.34.0 (const: 1.50.0) · sourcepub const fn wrapping_add(self, rhs: Self) -> Self
const: 1.32.0 · source
pub const fn wrapping_add(self, rhs: Self) -> Self
const: 1.32.0 · sourcepub fn wrapping_add_unsigned(self, rhs: u32) -> Self
const: unstable · source
pub fn wrapping_add_unsigned(self, rhs: u32) -> Self
const: unstable · sourcepub const fn wrapping_sub(self, rhs: Self) -> Self
const: 1.32.0 · source
pub const fn wrapping_sub(self, rhs: Self) -> Self
const: 1.32.0 · sourcepub fn wrapping_sub_unsigned(self, rhs: u32) -> Self
const: unstable · source
pub fn wrapping_sub_unsigned(self, rhs: u32) -> Self
const: unstable · sourcepub const fn wrapping_mul(self, rhs: Self) -> Self
const: 1.32.0 · source
pub const fn wrapping_mul(self, rhs: Self) -> Self
const: 1.32.0 · sourcepub const fn wrapping_div(self, rhs: Self) -> Self
1.2.0 (const: 1.52.0) · source
pub const fn wrapping_div(self, rhs: Self) -> Self
1.2.0 (const: 1.52.0) · sourceWrapping (modular) division. Computes self / rhs, wrapping around at the
boundary of the type.
The only case where such wrapping can occur is when one divides MIN / -1 on a signed type (where
MIN is the negative minimal value for the type); this is equivalent to -MIN, a positive value
that is too large to represent in the type. In such a case, this function returns MIN itself.
Panics
This function will panic if rhs is 0.
Examples
Basic usage:
assert_eq!(100i32.wrapping_div(10), 10);
assert_eq!((-128i8).wrapping_div(-1), -128);Runpub const fn wrapping_div_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · source
pub const fn wrapping_div_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · sourceWrapping Euclidean division. Computes self.div_euclid(rhs),
wrapping around at the boundary of the type.
Wrapping will only occur in MIN / -1 on a signed type (where MIN is the negative minimal value
for the type). This is equivalent to -MIN, a positive value that is too large to represent in the
type. In this case, this method returns MIN itself.
Panics
This function will panic if rhs is 0.
Examples
Basic usage:
assert_eq!(100i32.wrapping_div_euclid(10), 10);
assert_eq!((-128i8).wrapping_div_euclid(-1), -128);Runpub const fn wrapping_rem(self, rhs: Self) -> Self
1.2.0 (const: 1.52.0) · source
pub const fn wrapping_rem(self, rhs: Self) -> Self
1.2.0 (const: 1.52.0) · sourceWrapping (modular) remainder. Computes self % rhs, wrapping around at the
boundary of the type.
Such wrap-around never actually occurs mathematically; implementation artifacts make x % y
invalid for MIN / -1 on a signed type (where MIN is the negative minimal value). In such a case,
this function returns 0.
Panics
This function will panic if rhs is 0.
Examples
Basic usage:
assert_eq!(100i32.wrapping_rem(10), 0);
assert_eq!((-128i8).wrapping_rem(-1), 0);Runpub const fn wrapping_rem_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · source
pub const fn wrapping_rem_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · sourceWrapping Euclidean remainder. Computes self.rem_euclid(rhs), wrapping around
at the boundary of the type.
Wrapping will only occur in MIN % -1 on a signed type (where MIN is the negative minimal value
for the type). In this case, this method returns 0.
Panics
This function will panic if rhs is 0.
Examples
Basic usage:
assert_eq!(100i32.wrapping_rem_euclid(10), 0);
assert_eq!((-128i8).wrapping_rem_euclid(-1), 0);Runpub const fn wrapping_neg(self) -> Self
1.2.0 (const: 1.32.0) · source
pub const fn wrapping_neg(self) -> Self
1.2.0 (const: 1.32.0) · sourceWrapping (modular) negation. Computes -self, wrapping around at the boundary
of the type.
The only case where such wrapping can occur is when one negates MIN on a signed type (where MIN
is the negative minimal value for the type); this is a positive value that is too large to represent
in the type. In such a case, this function returns MIN itself.
Examples
Basic usage:
assert_eq!(100i32.wrapping_neg(), -100);
assert_eq!(i32::MIN.wrapping_neg(), i32::MIN);Runpub const fn wrapping_shl(self, rhs: u32) -> Self
1.2.0 (const: 1.32.0) · source
pub const fn wrapping_shl(self, rhs: u32) -> Self
1.2.0 (const: 1.32.0) · sourcePanic-free bitwise shift-left; yields self << mask(rhs), where mask removes
any high-order bits of rhs that would cause the shift to exceed the bitwidth of the type.
Note that this is not the same as a rotate-left; the RHS of a wrapping shift-left is restricted to
the range of the type, rather than the bits shifted out of the LHS being returned to the other end.
The primitive integer types all implement a rotate_left function,
which may be what you want instead.
Examples
Basic usage:
assert_eq!((-1i32).wrapping_shl(7), -128);
assert_eq!((-1i32).wrapping_shl(128), -1);Runpub const fn wrapping_shr(self, rhs: u32) -> Self
1.2.0 (const: 1.32.0) · source
pub const fn wrapping_shr(self, rhs: u32) -> Self
1.2.0 (const: 1.32.0) · sourcePanic-free bitwise shift-right; yields self >> mask(rhs), where mask
removes any high-order bits of rhs that would cause the shift to exceed the bitwidth of the type.
Note that this is not the same as a rotate-right; the RHS of a wrapping shift-right is restricted
to the range of the type, rather than the bits shifted out of the LHS being returned to the other
end. The primitive integer types all implement a rotate_right function,
which may be what you want instead.
Examples
Basic usage:
assert_eq!((-128i32).wrapping_shr(7), -1);
assert_eq!((-128i16).wrapping_shr(64), -128);Runpub const fn wrapping_abs(self) -> Self
1.13.0 (const: 1.32.0) · source
pub const fn wrapping_abs(self) -> Self
1.13.0 (const: 1.32.0) · sourceWrapping (modular) absolute value. Computes self.abs(), wrapping around at
the boundary of the type.
The only case where such wrapping can occur is when one takes the absolute value of the negative
minimal value for the type; this is a positive value that is too large to represent in the type. In
such a case, this function returns MIN itself.
Examples
Basic usage:
assert_eq!(100i32.wrapping_abs(), 100);
assert_eq!((-100i32).wrapping_abs(), 100);
assert_eq!(i32::MIN.wrapping_abs(), i32::MIN);
assert_eq!((-128i8).wrapping_abs() as u8, 128);Runpub const fn unsigned_abs(self) -> u32
1.51.0 (const: 1.51.0) · source
pub const fn unsigned_abs(self) -> u32
1.51.0 (const: 1.51.0) · sourcepub const fn wrapping_pow(self, exp: u32) -> Self
1.34.0 (const: 1.50.0) · source
pub const fn wrapping_pow(self, exp: u32) -> Self
1.34.0 (const: 1.50.0) · sourcepub const fn overflowing_add(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.32.0) · source
pub const fn overflowing_add(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourceCalculates 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.
Examples
Basic usage:
assert_eq!(5i32.overflowing_add(2), (7, false));
assert_eq!(i32::MAX.overflowing_add(1), (i32::MIN, true));Runpub fn overflowing_add_unsigned(self, rhs: u32) -> (Self, bool)
const: unstable · source
pub fn overflowing_add_unsigned(self, rhs: u32) -> (Self, bool)
const: unstable · sourceCalculates self + rhs with an unsigned 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.
Examples
Basic usage:
assert_eq!(1i32.overflowing_add_unsigned(2), (3, false));
assert_eq!((i32::MIN).overflowing_add_unsigned(u32::MAX), (i32::MAX, false));
assert_eq!((i32::MAX - 2).overflowing_add_unsigned(3), (i32::MIN, true));Runpub const fn overflowing_sub(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.32.0) · source
pub const fn overflowing_sub(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourceCalculates 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.
Examples
Basic usage:
assert_eq!(5i32.overflowing_sub(2), (3, false));
assert_eq!(i32::MIN.overflowing_sub(1), (i32::MAX, true));Runpub fn overflowing_sub_unsigned(self, rhs: u32) -> (Self, bool)
const: unstable · source
pub fn overflowing_sub_unsigned(self, rhs: u32) -> (Self, bool)
const: unstable · sourceCalculates self - rhs with an unsigned 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.
Examples
Basic usage:
assert_eq!(1i32.overflowing_sub_unsigned(2), (-1, false));
assert_eq!((i32::MAX).overflowing_sub_unsigned(u32::MAX), (i32::MIN, false));
assert_eq!((i32::MIN + 2).overflowing_sub_unsigned(3), (i32::MAX, true));Runpub const fn overflowing_mul(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.32.0) · source
pub const fn overflowing_mul(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourceCalculates the multiplication of self and 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.
Examples
Basic usage:
assert_eq!(5i32.overflowing_mul(2), (10, false));
assert_eq!(1_000_000_000i32.overflowing_mul(10), (1410065408, true));Runpub const fn overflowing_div(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.52.0) · source
pub const fn overflowing_div(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.52.0) · sourceCalculates the divisor when self is divided by rhs.
Returns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would occur then self is returned.
Panics
This function will panic if rhs is 0.
Examples
Basic usage:
assert_eq!(5i32.overflowing_div(2), (2, false));
assert_eq!(i32::MIN.overflowing_div(-1), (i32::MIN, true));Runpub const fn overflowing_div_euclid(self, rhs: Self) -> (Self, bool)
1.38.0 (const: 1.52.0) · source
pub const fn overflowing_div_euclid(self, rhs: Self) -> (Self, bool)
1.38.0 (const: 1.52.0) · sourceCalculates the quotient of Euclidean division self.div_euclid(rhs).
Returns a tuple of the divisor along with a boolean indicating whether an arithmetic overflow would
occur. If an overflow would occur then self is returned.
Panics
This function will panic if rhs is 0.
Examples
Basic usage:
assert_eq!(5i32.overflowing_div_euclid(2), (2, false));
assert_eq!(i32::MIN.overflowing_div_euclid(-1), (i32::MIN, true));Runpub const fn overflowing_rem(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.52.0) · source
pub const fn overflowing_rem(self, rhs: Self) -> (Self, bool)
1.7.0 (const: 1.52.0) · sourceCalculates the remainder when self is divided by rhs.
Returns a tuple of the remainder after dividing along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would occur then 0 is returned.
Panics
This function will panic if rhs is 0.
Examples
Basic usage:
assert_eq!(5i32.overflowing_rem(2), (1, false));
assert_eq!(i32::MIN.overflowing_rem(-1), (0, true));Runpub const fn overflowing_rem_euclid(self, rhs: Self) -> (Self, bool)
1.38.0 (const: 1.52.0) · source
pub const fn overflowing_rem_euclid(self, rhs: Self) -> (Self, bool)
1.38.0 (const: 1.52.0) · sourceOverflowing Euclidean remainder. Calculates self.rem_euclid(rhs).
Returns a tuple of the remainder after dividing along with a boolean indicating whether an arithmetic overflow would occur. If an overflow would occur then 0 is returned.
Panics
This function will panic if rhs is 0.
Examples
Basic usage:
assert_eq!(5i32.overflowing_rem_euclid(2), (1, false));
assert_eq!(i32::MIN.overflowing_rem_euclid(-1), (0, true));Runpub const fn overflowing_neg(self) -> (Self, bool)
1.7.0 (const: 1.32.0) · source
pub const fn overflowing_neg(self) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourceNegates self, overflowing if this is equal to the minimum value.
Returns a tuple of the negated version of self along with a boolean indicating whether an overflow
happened. If self is the minimum value (e.g., i32::MIN for values of type i32), then the
minimum value will be returned again and true will be returned for an overflow happening.
Examples
Basic usage:
assert_eq!(2i32.overflowing_neg(), (-2, false));
assert_eq!(i32::MIN.overflowing_neg(), (i32::MIN, true));Runpub const fn overflowing_shl(self, rhs: u32) -> (Self, bool)
1.7.0 (const: 1.32.0) · source
pub const fn overflowing_shl(self, rhs: u32) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourceShifts self left by rhs bits.
Returns a tuple of the shifted version of self along with a boolean indicating whether the shift value was larger than or equal to the number of bits. If the shift value is too large, then value is masked (N-1) where N is the number of bits, and this value is then used to perform the shift.
Examples
Basic usage:
assert_eq!(0x1i32.overflowing_shl(4), (0x10, false));
assert_eq!(0x1i32.overflowing_shl(36), (0x10, true));Runpub const fn overflowing_shr(self, rhs: u32) -> (Self, bool)
1.7.0 (const: 1.32.0) · source
pub const fn overflowing_shr(self, rhs: u32) -> (Self, bool)
1.7.0 (const: 1.32.0) · sourceShifts self right by rhs bits.
Returns a tuple of the shifted version of self along with a boolean indicating whether the shift value was larger than or equal to the number of bits. If the shift value is too large, then value is masked (N-1) where N is the number of bits, and this value is then used to perform the shift.
Examples
Basic usage:
assert_eq!(0x10i32.overflowing_shr(4), (0x1, false));
assert_eq!(0x10i32.overflowing_shr(36), (0x1, true));Runpub const fn overflowing_abs(self) -> (Self, bool)
1.13.0 (const: 1.32.0) · source
pub const fn overflowing_abs(self) -> (Self, bool)
1.13.0 (const: 1.32.0) · sourceComputes the absolute value of self.
Returns a tuple of the absolute version of self along with a boolean indicating whether an overflow happened. If self is the minimum value (e.g., i32::MIN for values of type i32), then the minimum value will be returned again and true will be returned for an overflow happening.
Examples
Basic usage:
assert_eq!(10i32.overflowing_abs(), (10, false));
assert_eq!((-10i32).overflowing_abs(), (10, false));
assert_eq!((i32::MIN).overflowing_abs(), (i32::MIN, true));Runpub const fn div_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · source
pub const fn div_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · sourceCalculates the quotient of Euclidean division of self by rhs.
This computes the integer q such that self = q * rhs + r, with
r = self.rem_euclid(rhs) and 0 <= r < abs(rhs).
In other words, the result is self / rhs rounded to the integer q
such that self >= q * rhs.
If self > 0, this is equal to round towards zero (the default in Rust);
if self < 0, this is equal to round towards +/- infinity.
Panics
This function will panic if rhs is 0 or the division results in overflow.
Examples
Basic usage:
let a: i32 = 7; // or any other integer type
let b = 4;
assert_eq!(a.div_euclid(b), 1); // 7 >= 4 * 1
assert_eq!(a.div_euclid(-b), -1); // 7 >= -4 * -1
assert_eq!((-a).div_euclid(b), -2); // -7 >= 4 * -2
assert_eq!((-a).div_euclid(-b), 2); // -7 >= -4 * 2Runpub const fn rem_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · source
pub const fn rem_euclid(self, rhs: Self) -> Self
1.38.0 (const: 1.52.0) · sourceCalculates the least nonnegative remainder of self (mod rhs).
This is done as if by the Euclidean division algorithm – given
r = self.rem_euclid(rhs), self = rhs * self.div_euclid(rhs) + r, and
0 <= r < abs(rhs).
Panics
This function will panic if rhs is 0 or the division results in overflow.
Examples
Basic usage:
let a: i32 = 7; // or any other integer type
let b = 4;
assert_eq!(a.rem_euclid(b), 3);
assert_eq!((-a).rem_euclid(b), 1);
assert_eq!(a.rem_euclid(-b), 3);
assert_eq!((-a).rem_euclid(-b), 1);Runpub const fn div_floor(self, rhs: Self) -> Self
source
pub const fn div_floor(self, rhs: Self) -> Self
sourceCalculates the quotient of self and rhs, rounding the result towards negative infinity.
Panics
This function will panic if rhs is zero.
Overflow behavior
On overflow, this function will panic if overflow checks are enabled (default in debug mode) and wrap if overflow checks are disabled (default in release mode).
Examples
Basic usage:
#![feature(int_roundings)]
let a: i32 = 8;
let b = 3;
assert_eq!(a.div_floor(b), 2);
assert_eq!(a.div_floor(-b), -3);
assert_eq!((-a).div_floor(b), -3);
assert_eq!((-a).div_floor(-b), 2);Runpub const fn div_ceil(self, rhs: Self) -> Self
source
pub const fn div_ceil(self, rhs: Self) -> Self
sourceCalculates the quotient of self and rhs, rounding the result towards positive infinity.
Panics
This function will panic if rhs is zero.
Overflow behavior
On overflow, this function will panic if overflow checks are enabled (default in debug mode) and wrap if overflow checks are disabled (default in release mode).
Examples
Basic usage:
#![feature(int_roundings)]
let a: i32 = 8;
let b = 3;
assert_eq!(a.div_ceil(b), 3);
assert_eq!(a.div_ceil(-b), -2);
assert_eq!((-a).div_ceil(b), -2);
assert_eq!((-a).div_ceil(-b), 3);Runpub const fn next_multiple_of(self, rhs: Self) -> Self
source
pub const fn next_multiple_of(self, rhs: Self) -> Self
sourceIf rhs is positive, calculates the smallest value greater than or
equal to self that is a multiple of rhs. If rhs is negative,
calculates the largest value less than or equal to self that is a
multiple of rhs.
Panics
This function will panic if rhs is zero.
Overflow behavior
On overflow, this function will panic if overflow checks are enabled (default in debug mode) and wrap if overflow checks are disabled (default in release mode).
Examples
Basic usage:
#![feature(int_roundings)]
assert_eq!(16_i32.next_multiple_of(8), 16);
assert_eq!(23_i32.next_multiple_of(8), 24);
assert_eq!(16_i32.next_multiple_of(-8), 16);
assert_eq!(23_i32.next_multiple_of(-8), 16);
assert_eq!((-16_i32).next_multiple_of(8), -16);
assert_eq!((-23_i32).next_multiple_of(8), -16);
assert_eq!((-16_i32).next_multiple_of(-8), -16);
assert_eq!((-23_i32).next_multiple_of(-8), -24);Runpub const fn checked_next_multiple_of(self, rhs: Self) -> Option<Self>
source
pub const fn checked_next_multiple_of(self, rhs: Self) -> Option<Self>
sourceIf rhs is positive, calculates the smallest value greater than or
equal to self that is a multiple of rhs. If rhs is negative,
calculates the largest value less than or equal to self that is a
multiple of rhs. Returns None if rhs is zero or the operation
would result in overflow.
Examples
Basic usage:
#![feature(int_roundings)]
assert_eq!(16_i32.checked_next_multiple_of(8), Some(16));
assert_eq!(23_i32.checked_next_multiple_of(8), Some(24));
assert_eq!(16_i32.checked_next_multiple_of(-8), Some(16));
assert_eq!(23_i32.checked_next_multiple_of(-8), Some(16));
assert_eq!((-16_i32).checked_next_multiple_of(8), Some(-16));
assert_eq!((-23_i32).checked_next_multiple_of(8), Some(-16));
assert_eq!((-16_i32).checked_next_multiple_of(-8), Some(-16));
assert_eq!((-23_i32).checked_next_multiple_of(-8), Some(-24));
assert_eq!(1_i32.checked_next_multiple_of(0), None);
assert_eq!(i32::MAX.checked_next_multiple_of(2), None);Runpub const fn log(self, base: Self) -> u32
source
pub const fn log(self, base: Self) -> u32
sourceReturns the logarithm of the number with respect to an arbitrary base, rounded down.
This method might not be optimized owing to implementation details;
log2 can produce results more efficiently for base 2, and log10
can produce results more efficiently for base 10.
Panics
When the number is negative, zero, or if the base is not at least 2; it panics in debug mode and the return value is 0 in release mode.
Examples
#![feature(int_log)]
assert_eq!(5i32.log(5), 1);Runpub const fn checked_log(self, base: Self) -> Option<u32>
source
pub const fn checked_log(self, base: Self) -> Option<u32>
sourceReturns the logarithm of the number with respect to an arbitrary base, rounded down.
Returns None if the number is negative or zero, or if the base is not at least 2.
This method might not be optimized owing to implementation details;
checked_log2 can produce results more efficiently for base 2, and
checked_log10 can produce results more efficiently for base 10.
Examples
#![feature(int_log)]
assert_eq!(5i32.checked_log(5), Some(1));Runpub const fn checked_log2(self) -> Option<u32>
source
pub const fn checked_log2(self) -> Option<u32>
sourcepub const fn checked_log10(self) -> Option<u32>
source
pub const fn checked_log10(self) -> Option<u32>
sourcepub const fn abs(self) -> Self
const: 1.32.0 · source
pub const fn abs(self) -> Self
const: 1.32.0 · sourceComputes the absolute value of self.
Overflow behavior
The absolute value of
i32::MIN
cannot be represented as an
i32,
and attempting to calculate it will cause an overflow. This means
that code in debug mode will trigger a panic on this case and
optimized code will return
i32::MIN
without a panic.
Examples
Basic usage:
assert_eq!(10i32.abs(), 10);
assert_eq!((-10i32).abs(), 10);Runpub const fn abs_diff(self, other: Self) -> u32
1.60.0 (const: 1.60.0) · source
pub const fn abs_diff(self, other: Self) -> u32
1.60.0 (const: 1.60.0) · sourceComputes the absolute difference between self and other.
This function always returns the correct answer without overflow or panics by returning an unsigned integer.
Examples
Basic usage:
assert_eq!(100i32.abs_diff(80), 20u32);
assert_eq!(100i32.abs_diff(110), 10u32);
assert_eq!((-100i32).abs_diff(80), 180u32);
assert_eq!((-100i32).abs_diff(-120), 20u32);
assert_eq!(i32::MIN.abs_diff(i32::MAX), u32::MAX);Runpub const fn is_positive(self) -> bool
const: 1.32.0 · source
pub const fn is_positive(self) -> bool
const: 1.32.0 · sourcepub const fn is_negative(self) -> bool
const: 1.32.0 · source
pub const fn is_negative(self) -> bool
const: 1.32.0 · sourcepub const fn to_be_bytes(self) -> [u8; 4]
1.32.0 (const: 1.44.0) · source
pub const fn to_be_bytes(self) -> [u8; 4]
1.32.0 (const: 1.44.0) · sourcepub const fn to_le_bytes(self) -> [u8; 4]
1.32.0 (const: 1.44.0) · source
pub const fn to_le_bytes(self) -> [u8; 4]
1.32.0 (const: 1.44.0) · sourcepub const fn to_ne_bytes(self) -> [u8; 4]
1.32.0 (const: 1.44.0) · source
pub const fn to_ne_bytes(self) -> [u8; 4]
1.32.0 (const: 1.44.0) · sourceReturn the memory representation of this integer as a byte array in native byte order.
As the target platform’s native endianness is used, portable code
should use to_be_bytes or to_le_bytes, as appropriate,
instead.
Examples
let bytes = 0x12345678i32.to_ne_bytes();
assert_eq!(
bytes,
if cfg!(target_endian = "big") {
[0x12, 0x34, 0x56, 0x78]
} else {
[0x78, 0x56, 0x34, 0x12]
}
);Runpub const fn from_be_bytes(bytes: [u8; 4]) -> Self
1.32.0 (const: 1.44.0) · source
pub const fn from_be_bytes(bytes: [u8; 4]) -> Self
1.32.0 (const: 1.44.0) · sourceCreate an integer value from its representation as a byte array in big endian.
Examples
let value = i32::from_be_bytes([0x12, 0x34, 0x56, 0x78]);
assert_eq!(value, 0x12345678);RunWhen starting from a slice rather than an array, fallible conversion APIs can be used:
fn read_be_i32(input: &mut &[u8]) -> i32 {
let (int_bytes, rest) = input.split_at(std::mem::size_of::<i32>());
*input = rest;
i32::from_be_bytes(int_bytes.try_into().unwrap())
}Runpub const fn from_le_bytes(bytes: [u8; 4]) -> Self
1.32.0 (const: 1.44.0) · source
pub const fn from_le_bytes(bytes: [u8; 4]) -> Self
1.32.0 (const: 1.44.0) · sourceCreate an integer value from its representation as a byte array in little endian.
Examples
let value = i32::from_le_bytes([0x78, 0x56, 0x34, 0x12]);
assert_eq!(value, 0x12345678);RunWhen starting from a slice rather than an array, fallible conversion APIs can be used:
fn read_le_i32(input: &mut &[u8]) -> i32 {
let (int_bytes, rest) = input.split_at(std::mem::size_of::<i32>());
*input = rest;
i32::from_le_bytes(int_bytes.try_into().unwrap())
}Runpub const fn from_ne_bytes(bytes: [u8; 4]) -> Self
1.32.0 (const: 1.44.0) · source
pub const fn from_ne_bytes(bytes: [u8; 4]) -> Self
1.32.0 (const: 1.44.0) · sourceCreate an integer value from its memory representation as a byte array in native endianness.
As the target platform’s native endianness is used, portable code
likely wants to use from_be_bytes or from_le_bytes, as
appropriate instead.
Examples
let value = i32::from_ne_bytes(if cfg!(target_endian = "big") {
[0x12, 0x34, 0x56, 0x78]
} else {
[0x78, 0x56, 0x34, 0x12]
});
assert_eq!(value, 0x12345678);RunWhen starting from a slice rather than an array, fallible conversion APIs can be used:
fn read_ne_i32(input: &mut &[u8]) -> i32 {
let (int_bytes, rest) = input.split_at(std::mem::size_of::<i32>());
*input = rest;
i32::from_ne_bytes(int_bytes.try_into().unwrap())
}RunTrait Implementations
impl AddAssign<&'_ i32> for Saturating<i32>
1.22.0 · source
impl AddAssign<&'_ i32> for Saturating<i32>
1.22.0 · sourcefn add_assign(&mut self, other: &i32)
source
fn add_assign(&mut self, other: &i32)
sourcePerforms the += operation. Read more
impl AddAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · source
impl AddAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · sourcefn add_assign(&mut self, other: &i32)
const: unstable · source
fn add_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the += operation. Read more
impl AddAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl AddAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn add_assign(&mut self, other: &i32)
const: unstable · source
fn add_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the += operation. Read more
impl AddAssign<i32> for Saturating<i32>
source
impl AddAssign<i32> for Saturating<i32>
sourcefn add_assign(&mut self, other: i32)
source
fn add_assign(&mut self, other: i32)
sourcePerforms the += operation. Read more
impl AddAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · source
impl AddAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · sourcefn add_assign(&mut self, other: i32)
const: unstable · source
fn add_assign(&mut self, other: i32)
const: unstable · sourcePerforms the += operation. Read more
impl AddAssign<i32> for i32
1.8.0 (const: unstable) · source
impl AddAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn add_assign(&mut self, other: i32)
const: unstable · source
fn add_assign(&mut self, other: i32)
const: unstable · sourcePerforms the += operation. Read more
impl BitAndAssign<&'_ i32> for Saturating<i32>
1.22.0 · source
impl BitAndAssign<&'_ i32> for Saturating<i32>
1.22.0 · sourcefn bitand_assign(&mut self, other: &i32)
source
fn bitand_assign(&mut self, other: &i32)
sourcePerforms the &= operation. Read more
impl BitAndAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · source
impl BitAndAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · sourcefn bitand_assign(&mut self, other: &i32)
const: unstable · source
fn bitand_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the &= operation. Read more
impl BitAndAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl BitAndAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn bitand_assign(&mut self, other: &i32)
const: unstable · source
fn bitand_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the &= operation. Read more
impl BitAndAssign<i32> for Saturating<i32>
source
impl BitAndAssign<i32> for Saturating<i32>
sourcefn bitand_assign(&mut self, other: i32)
source
fn bitand_assign(&mut self, other: i32)
sourcePerforms the &= operation. Read more
impl BitAndAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · source
impl BitAndAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · sourcefn bitand_assign(&mut self, other: i32)
const: unstable · source
fn bitand_assign(&mut self, other: i32)
const: unstable · sourcePerforms the &= operation. Read more
impl BitAndAssign<i32> for i32
1.8.0 (const: unstable) · source
impl BitAndAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn bitand_assign(&mut self, other: i32)
const: unstable · source
fn bitand_assign(&mut self, other: i32)
const: unstable · sourcePerforms the &= operation. Read more
impl BitOr<NonZeroI32> for i32
1.45.0 (const: unstable) · source
impl BitOr<NonZeroI32> for i32
1.45.0 (const: unstable) · sourcetype Output = NonZeroI32
type Output = NonZeroI32
The resulting type after applying the | operator.
impl BitOr<i32> for NonZeroI32
1.45.0 (const: unstable) · source
impl BitOr<i32> for NonZeroI32
1.45.0 (const: unstable) · sourceimpl BitOrAssign<&'_ i32> for Saturating<i32>
1.22.0 · source
impl BitOrAssign<&'_ i32> for Saturating<i32>
1.22.0 · sourcefn bitor_assign(&mut self, other: &i32)
source
fn bitor_assign(&mut self, other: &i32)
sourcePerforms the |= operation. Read more
impl BitOrAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · source
impl BitOrAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · sourcefn bitor_assign(&mut self, other: &i32)
const: unstable · source
fn bitor_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the |= operation. Read more
impl BitOrAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl BitOrAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn bitor_assign(&mut self, other: &i32)
const: unstable · source
fn bitor_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the |= operation. Read more
impl BitOrAssign<i32> for NonZeroI32
1.45.0 (const: unstable) · source
impl BitOrAssign<i32> for NonZeroI32
1.45.0 (const: unstable) · sourcefn bitor_assign(&mut self, rhs: i32)
const: unstable · source
fn bitor_assign(&mut self, rhs: i32)
const: unstable · sourcePerforms the |= operation. Read more
impl BitOrAssign<i32> for Saturating<i32>
source
impl BitOrAssign<i32> for Saturating<i32>
sourcefn bitor_assign(&mut self, other: i32)
source
fn bitor_assign(&mut self, other: i32)
sourcePerforms the |= operation. Read more
impl BitOrAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · source
impl BitOrAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · sourcefn bitor_assign(&mut self, other: i32)
const: unstable · source
fn bitor_assign(&mut self, other: i32)
const: unstable · sourcePerforms the |= operation. Read more
impl BitOrAssign<i32> for i32
1.8.0 (const: unstable) · source
impl BitOrAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn bitor_assign(&mut self, other: i32)
const: unstable · source
fn bitor_assign(&mut self, other: i32)
const: unstable · sourcePerforms the |= operation. Read more
impl BitXorAssign<&'_ i32> for Saturating<i32>
1.22.0 · source
impl BitXorAssign<&'_ i32> for Saturating<i32>
1.22.0 · sourcefn bitxor_assign(&mut self, other: &i32)
source
fn bitxor_assign(&mut self, other: &i32)
sourcePerforms the ^= operation. Read more
impl BitXorAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · source
impl BitXorAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · sourcefn bitxor_assign(&mut self, other: &i32)
const: unstable · source
fn bitxor_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the ^= operation. Read more
impl BitXorAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl BitXorAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn bitxor_assign(&mut self, other: &i32)
const: unstable · source
fn bitxor_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the ^= operation. Read more
impl BitXorAssign<i32> for Saturating<i32>
source
impl BitXorAssign<i32> for Saturating<i32>
sourcefn bitxor_assign(&mut self, other: i32)
source
fn bitxor_assign(&mut self, other: i32)
sourcePerforms the ^= operation. Read more
impl BitXorAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · source
impl BitXorAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · sourcefn bitxor_assign(&mut self, other: i32)
const: unstable · source
fn bitxor_assign(&mut self, other: i32)
const: unstable · sourcePerforms the ^= operation. Read more
impl BitXorAssign<i32> for i32
1.8.0 (const: unstable) · source
impl BitXorAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn bitxor_assign(&mut self, other: i32)
const: unstable · source
fn bitxor_assign(&mut self, other: i32)
const: unstable · sourcePerforms the ^= operation. Read more
impl Div<i32> for i32
const: unstable · source
impl Div<i32> for i32
const: unstable · sourceThis operation rounds towards zero, truncating any fractional part of the exact result.
Panics
This operation will panic if other == 0 or the division results in overflow.
impl DivAssign<&'_ i32> for Saturating<i32>
1.22.0 · source
impl DivAssign<&'_ i32> for Saturating<i32>
1.22.0 · sourcefn div_assign(&mut self, other: &i32)
source
fn div_assign(&mut self, other: &i32)
sourcePerforms the /= operation. Read more
impl DivAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · source
impl DivAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · sourcefn div_assign(&mut self, other: &i32)
const: unstable · source
fn div_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the /= operation. Read more
impl DivAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl DivAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn div_assign(&mut self, other: &i32)
const: unstable · source
fn div_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the /= operation. Read more
impl DivAssign<i32> for Saturating<i32>
source
impl DivAssign<i32> for Saturating<i32>
sourcefn div_assign(&mut self, other: i32)
source
fn div_assign(&mut self, other: i32)
sourcePerforms the /= operation. Read more
impl DivAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · source
impl DivAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · sourcefn div_assign(&mut self, other: i32)
const: unstable · source
fn div_assign(&mut self, other: i32)
const: unstable · sourcePerforms the /= operation. Read more
impl DivAssign<i32> for i32
1.8.0 (const: unstable) · source
impl DivAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn div_assign(&mut self, other: i32)
const: unstable · source
fn div_assign(&mut self, other: i32)
const: unstable · sourcePerforms the /= operation. Read more
impl From<NonZeroI32> for i32
1.31.0 (const: unstable) · source
impl From<NonZeroI32> for i32
1.31.0 (const: unstable) · sourcefn from(nonzero: NonZeroI32) -> Self
const: unstable · source
fn from(nonzero: NonZeroI32) -> Self
const: unstable · sourceConverts a NonZeroI32 into an i32
impl FromStr for i32
source
impl FromStr for i32
sourcetype Err = ParseIntError
type Err = ParseIntError
The associated error which can be returned from parsing.
impl MulAssign<&'_ i32> for Saturating<i32>
1.22.0 · source
impl MulAssign<&'_ i32> for Saturating<i32>
1.22.0 · sourcefn mul_assign(&mut self, other: &i32)
source
fn mul_assign(&mut self, other: &i32)
sourcePerforms the *= operation. Read more
impl MulAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · source
impl MulAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · sourcefn mul_assign(&mut self, other: &i32)
const: unstable · source
fn mul_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the *= operation. Read more
impl MulAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl MulAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn mul_assign(&mut self, other: &i32)
const: unstable · source
fn mul_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the *= operation. Read more
impl MulAssign<i32> for Saturating<i32>
source
impl MulAssign<i32> for Saturating<i32>
sourcefn mul_assign(&mut self, other: i32)
source
fn mul_assign(&mut self, other: i32)
sourcePerforms the *= operation. Read more
impl MulAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · source
impl MulAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · sourcefn mul_assign(&mut self, other: i32)
const: unstable · source
fn mul_assign(&mut self, other: i32)
const: unstable · sourcePerforms the *= operation. Read more
impl MulAssign<i32> for i32
1.8.0 (const: unstable) · source
impl MulAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn mul_assign(&mut self, other: i32)
const: unstable · source
fn mul_assign(&mut self, other: i32)
const: unstable · sourcePerforms the *= operation. Read more
impl Ord for i32
source
impl Ord for i32
sourceimpl PartialOrd<i32> for i32
source
impl PartialOrd<i32> for i32
sourcefn partial_cmp(&self, other: &i32) -> Option<Ordering>
source
fn partial_cmp(&self, other: &i32) -> Option<Ordering>
sourceThis method returns an ordering between self and other values if one exists. Read more
fn lt(&self, other: &i32) -> bool
source
fn lt(&self, other: &i32) -> bool
sourceThis method tests less than (for self and other) and is used by the < operator. Read more
fn le(&self, other: &i32) -> bool
source
fn le(&self, other: &i32) -> bool
sourceThis method tests less than or equal to (for self and other) and is used by the <=
operator. Read more
impl Rem<i32> for i32
const: unstable · source
impl Rem<i32> for i32
const: unstable · sourceThis operation satisfies n % d == n - (n / d) * d. The
result has the same sign as the left operand.
Panics
This operation will panic if other == 0 or if self / other results in overflow.
impl RemAssign<&'_ i32> for Saturating<i32>
1.22.0 · source
impl RemAssign<&'_ i32> for Saturating<i32>
1.22.0 · sourcefn rem_assign(&mut self, other: &i32)
source
fn rem_assign(&mut self, other: &i32)
sourcePerforms the %= operation. Read more
impl RemAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · source
impl RemAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · sourcefn rem_assign(&mut self, other: &i32)
const: unstable · source
fn rem_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the %= operation. Read more
impl RemAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl RemAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn rem_assign(&mut self, other: &i32)
const: unstable · source
fn rem_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the %= operation. Read more
impl RemAssign<i32> for Saturating<i32>
source
impl RemAssign<i32> for Saturating<i32>
sourcefn rem_assign(&mut self, other: i32)
source
fn rem_assign(&mut self, other: i32)
sourcePerforms the %= operation. Read more
impl RemAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · source
impl RemAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · sourcefn rem_assign(&mut self, other: i32)
const: unstable · source
fn rem_assign(&mut self, other: i32)
const: unstable · sourcePerforms the %= operation. Read more
impl RemAssign<i32> for i32
1.8.0 (const: unstable) · source
impl RemAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn rem_assign(&mut self, other: i32)
const: unstable · source
fn rem_assign(&mut self, other: i32)
const: unstable · sourcePerforms the %= operation. Read more
impl ShlAssign<&'_ i128> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i128> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i128)
const: unstable · source
fn shl_assign(&mut self, other: &i128)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i16> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i16> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i16)
const: unstable · source
fn shl_assign(&mut self, other: &i16)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for u8
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for u8
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for u16
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for u16
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for i128
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for i128
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for isize
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for isize
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for u32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for u32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for u64
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for u64
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for u128
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for u128
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for usize
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for usize
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for i8
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for i8
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for i16
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for i16
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i32> for i64
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i32> for i64
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i32)
const: unstable · source
fn shl_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i64> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i64> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i64)
const: unstable · source
fn shl_assign(&mut self, other: &i64)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ i8> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ i8> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &i8)
const: unstable · source
fn shl_assign(&mut self, other: &i8)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ isize> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ isize> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &isize)
const: unstable · source
fn shl_assign(&mut self, other: &isize)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ u128> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ u128> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &u128)
const: unstable · source
fn shl_assign(&mut self, other: &u128)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ u16> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ u16> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &u16)
const: unstable · source
fn shl_assign(&mut self, other: &u16)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ u32> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ u32> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &u32)
const: unstable · source
fn shl_assign(&mut self, other: &u32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ u64> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ u64> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &u64)
const: unstable · source
fn shl_assign(&mut self, other: &u64)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ u8> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ u8> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &u8)
const: unstable · source
fn shl_assign(&mut self, other: &u8)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<&'_ usize> for i32
1.22.0 (const: unstable) · source
impl ShlAssign<&'_ usize> for i32
1.22.0 (const: unstable) · sourcefn shl_assign(&mut self, other: &usize)
const: unstable · source
fn shl_assign(&mut self, other: &usize)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i128> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<i128> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i128)
const: unstable · source
fn shl_assign(&mut self, other: i128)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i16> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<i16> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i16)
const: unstable · source
fn shl_assign(&mut self, other: i16)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for u8
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for u8
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for u16
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for u16
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for i128
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for i128
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for isize
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for isize
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for u32
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for u32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for u64
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for u64
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for u128
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for u128
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for usize
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for usize
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for i8
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for i8
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for i16
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for i16
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i32> for i64
1.8.0 (const: unstable) · source
impl ShlAssign<i32> for i64
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i32)
const: unstable · source
fn shl_assign(&mut self, other: i32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i64> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<i64> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i64)
const: unstable · source
fn shl_assign(&mut self, other: i64)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<i8> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<i8> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: i8)
const: unstable · source
fn shl_assign(&mut self, other: i8)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<isize> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<isize> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: isize)
const: unstable · source
fn shl_assign(&mut self, other: isize)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<u128> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<u128> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: u128)
const: unstable · source
fn shl_assign(&mut self, other: u128)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<u16> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<u16> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: u16)
const: unstable · source
fn shl_assign(&mut self, other: u16)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<u32> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<u32> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: u32)
const: unstable · source
fn shl_assign(&mut self, other: u32)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<u64> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<u64> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: u64)
const: unstable · source
fn shl_assign(&mut self, other: u64)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<u8> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<u8> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: u8)
const: unstable · source
fn shl_assign(&mut self, other: u8)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShlAssign<usize> for i32
1.8.0 (const: unstable) · source
impl ShlAssign<usize> for i32
1.8.0 (const: unstable) · sourcefn shl_assign(&mut self, other: usize)
const: unstable · source
fn shl_assign(&mut self, other: usize)
const: unstable · sourcePerforms the <<= operation. Read more
impl ShrAssign<&'_ i128> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i128> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i128)
const: unstable · source
fn shr_assign(&mut self, other: &i128)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i16> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i16> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i16)
const: unstable · source
fn shr_assign(&mut self, other: &i16)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for u8
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for u8
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for u16
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for u16
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for i128
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for i128
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for isize
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for isize
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for u32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for u32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for u64
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for u64
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for u128
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for u128
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for usize
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for usize
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for i8
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for i8
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for i16
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for i16
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i32> for i64
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i32> for i64
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i32)
const: unstable · source
fn shr_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i64> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i64> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i64)
const: unstable · source
fn shr_assign(&mut self, other: &i64)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ i8> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ i8> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &i8)
const: unstable · source
fn shr_assign(&mut self, other: &i8)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ isize> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ isize> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &isize)
const: unstable · source
fn shr_assign(&mut self, other: &isize)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ u128> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ u128> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &u128)
const: unstable · source
fn shr_assign(&mut self, other: &u128)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ u16> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ u16> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &u16)
const: unstable · source
fn shr_assign(&mut self, other: &u16)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ u32> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ u32> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &u32)
const: unstable · source
fn shr_assign(&mut self, other: &u32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ u64> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ u64> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &u64)
const: unstable · source
fn shr_assign(&mut self, other: &u64)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ u8> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ u8> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &u8)
const: unstable · source
fn shr_assign(&mut self, other: &u8)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<&'_ usize> for i32
1.22.0 (const: unstable) · source
impl ShrAssign<&'_ usize> for i32
1.22.0 (const: unstable) · sourcefn shr_assign(&mut self, other: &usize)
const: unstable · source
fn shr_assign(&mut self, other: &usize)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i128> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<i128> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i128)
const: unstable · source
fn shr_assign(&mut self, other: i128)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i16> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<i16> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i16)
const: unstable · source
fn shr_assign(&mut self, other: i16)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for u8
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for u8
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for u16
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for u16
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for i128
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for i128
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for isize
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for isize
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for u32
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for u32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for u64
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for u64
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for u128
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for u128
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for usize
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for usize
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for i8
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for i8
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for i16
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for i16
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i32> for i64
1.8.0 (const: unstable) · source
impl ShrAssign<i32> for i64
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i32)
const: unstable · source
fn shr_assign(&mut self, other: i32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i64> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<i64> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i64)
const: unstable · source
fn shr_assign(&mut self, other: i64)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<i8> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<i8> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: i8)
const: unstable · source
fn shr_assign(&mut self, other: i8)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<isize> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<isize> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: isize)
const: unstable · source
fn shr_assign(&mut self, other: isize)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<u128> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<u128> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: u128)
const: unstable · source
fn shr_assign(&mut self, other: u128)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<u16> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<u16> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: u16)
const: unstable · source
fn shr_assign(&mut self, other: u16)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<u32> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<u32> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: u32)
const: unstable · source
fn shr_assign(&mut self, other: u32)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<u64> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<u64> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: u64)
const: unstable · source
fn shr_assign(&mut self, other: u64)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<u8> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<u8> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: u8)
const: unstable · source
fn shr_assign(&mut self, other: u8)
const: unstable · sourcePerforms the >>= operation. Read more
impl ShrAssign<usize> for i32
1.8.0 (const: unstable) · source
impl ShrAssign<usize> for i32
1.8.0 (const: unstable) · sourcefn shr_assign(&mut self, other: usize)
const: unstable · source
fn shr_assign(&mut self, other: usize)
const: unstable · sourcePerforms the >>= operation. Read more
impl SimdElement for i32
source
impl SimdElement for i32
sourceimpl Step for i32
source
impl Step for i32
sourceunsafe fn forward_unchecked(start: Self, n: usize) -> Self
source
unsafe fn forward_unchecked(start: Self, n: usize) -> Self
sourceReturns the value that would be obtained by taking the successor
of self count times. Read more
unsafe fn backward_unchecked(start: Self, n: usize) -> Self
source
unsafe fn backward_unchecked(start: Self, n: usize) -> Self
sourceReturns the value that would be obtained by taking the predecessor
of self count times. Read more
fn forward(start: Self, n: usize) -> Self
source
fn forward(start: Self, n: usize) -> Self
sourceReturns the value that would be obtained by taking the successor
of self count times. Read more
fn backward(start: Self, n: usize) -> Self
source
fn backward(start: Self, n: usize) -> Self
sourceReturns the value that would be obtained by taking the predecessor
of self count times. Read more
fn steps_between(start: &Self, end: &Self) -> Option<usize>
source
fn steps_between(start: &Self, end: &Self) -> Option<usize>
sourceReturns the number of successor steps required to get from start to end. Read more
fn forward_checked(start: Self, n: usize) -> Option<Self>
source
fn forward_checked(start: Self, n: usize) -> Option<Self>
sourceReturns the value that would be obtained by taking the successor
of self count times. Read more
impl SubAssign<&'_ i32> for Saturating<i32>
1.22.0 · source
impl SubAssign<&'_ i32> for Saturating<i32>
1.22.0 · sourcefn sub_assign(&mut self, other: &i32)
source
fn sub_assign(&mut self, other: &i32)
sourcePerforms the -= operation. Read more
impl SubAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · source
impl SubAssign<&'_ i32> for Wrapping<i32>
1.22.0 (const: unstable) · sourcefn sub_assign(&mut self, other: &i32)
const: unstable · source
fn sub_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the -= operation. Read more
impl SubAssign<&'_ i32> for i32
1.22.0 (const: unstable) · source
impl SubAssign<&'_ i32> for i32
1.22.0 (const: unstable) · sourcefn sub_assign(&mut self, other: &i32)
const: unstable · source
fn sub_assign(&mut self, other: &i32)
const: unstable · sourcePerforms the -= operation. Read more
impl SubAssign<i32> for Saturating<i32>
source
impl SubAssign<i32> for Saturating<i32>
sourcefn sub_assign(&mut self, other: i32)
source
fn sub_assign(&mut self, other: i32)
sourcePerforms the -= operation. Read more
impl SubAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · source
impl SubAssign<i32> for Wrapping<i32>
1.60.0 (const: unstable) · sourcefn sub_assign(&mut self, other: i32)
const: unstable · source
fn sub_assign(&mut self, other: i32)
const: unstable · sourcePerforms the -= operation. Read more
impl SubAssign<i32> for i32
1.8.0 (const: unstable) · source
impl SubAssign<i32> for i32
1.8.0 (const: unstable) · sourcefn sub_assign(&mut self, other: i32)
const: unstable · source
fn sub_assign(&mut self, other: i32)
const: unstable · sourcePerforms the -= operation. Read more
impl TryFrom<i128> for i32
1.34.0 (const: unstable) · source
impl TryFrom<i128> for i32
1.34.0 (const: unstable) · sourcefn try_from(u: i128) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i128) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for i16
1.34.0 (const: unstable) · source
impl TryFrom<i32> for i16
1.34.0 (const: unstable) · sourcefn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for i8
1.34.0 (const: unstable) · source
impl TryFrom<i32> for i8
1.34.0 (const: unstable) · sourcefn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for u32
1.34.0 (const: unstable) · source
impl TryFrom<i32> for u32
1.34.0 (const: unstable) · sourcefn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for u64
1.34.0 (const: unstable) · source
impl TryFrom<i32> for u64
1.34.0 (const: unstable) · sourcefn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for u128
1.34.0 (const: unstable) · source
impl TryFrom<i32> for u128
1.34.0 (const: unstable) · sourcefn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for u16
1.34.0 (const: unstable) · source
impl TryFrom<i32> for u16
1.34.0 (const: unstable) · sourcefn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for u8
1.34.0 (const: unstable) · source
impl TryFrom<i32> for u8
1.34.0 (const: unstable) · sourcefn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for usize
1.34.0 (const: unstable) · source
impl TryFrom<i32> for usize
1.34.0 (const: unstable) · sourcefn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for isize
1.34.0 (const: unstable) · source
impl TryFrom<i32> for isize
1.34.0 (const: unstable) · sourcefn try_from(value: i32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(value: i32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<i32> for NonZeroI32
1.46.0 · source
impl TryFrom<i32> for NonZeroI32
1.46.0 · sourceimpl TryFrom<i64> for i32
1.34.0 (const: unstable) · source
impl TryFrom<i64> for i32
1.34.0 (const: unstable) · sourcefn try_from(u: i64) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: i64) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<isize> for i32
1.34.0 (const: unstable) · source
impl TryFrom<isize> for i32
1.34.0 (const: unstable) · sourcefn try_from(u: isize) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: isize) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<u128> for i32
1.34.0 (const: unstable) · source
impl TryFrom<u128> for i32
1.34.0 (const: unstable) · sourcefn try_from(u: u128) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: u128) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<u32> for i32
1.34.0 (const: unstable) · source
impl TryFrom<u32> for i32
1.34.0 (const: unstable) · sourcefn try_from(u: u32) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: u32) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<u64> for i32
1.34.0 (const: unstable) · source
impl TryFrom<u64> for i32
1.34.0 (const: unstable) · sourcefn try_from(u: u64) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: u64) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl TryFrom<usize> for i32
1.34.0 (const: unstable) · source
impl TryFrom<usize> for i32
1.34.0 (const: unstable) · sourcefn try_from(u: usize) -> Result<Self, Self::Error>
const: unstable · source
fn try_from(u: usize) -> Result<Self, Self::Error>
const: unstable · sourceTry to create the target number type from a source number type. This returns an error if the source value is outside of the range of the target type.
type Error = TryFromIntError
type Error = TryFromIntError
The type returned in the event of a conversion error.
impl Copy for i32
sourceimpl Eq for i32
sourceimpl FloatToInt<i32> for f32
sourceimpl FloatToInt<i32> for f64
sourceimpl MaskElement for i32
sourceimpl TrustedStep for i32
sourceAuto Trait Implementations
impl RefUnwindSafe for i32
impl Send for i32
impl Sync for i32
impl Unpin for i32
impl UnwindSafe for i32
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
source
impl<T> BorrowMut<T> for T where
T: ?Sized,
sourcefn borrow_mut(&mut self) -> &mut T
const: unstable · source
fn borrow_mut(&mut self) -> &mut T
const: unstable · sourceMutably borrows from an owned value. Read more