pub trait NumExt {
// Required methods
fn leading_zeros_logic(self) -> u32;
fn trailing_zeros_logic(self) -> u32;
fn leading_ones_logic(self) -> u32;
fn trailing_ones_logic(self) -> u32;
}Required Methods§
Sourcefn leading_zeros_logic(self) -> u32
fn leading_zeros_logic(self) -> u32
logic ⚠
Sourcefn trailing_zeros_logic(self) -> u32
fn trailing_zeros_logic(self) -> u32
logic ⚠
Sourcefn leading_ones_logic(self) -> u32
fn leading_ones_logic(self) -> u32
logic ⚠
Sourcefn trailing_ones_logic(self) -> u32
fn trailing_ones_logic(self) -> u32
logic ⚠
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl NumExt for u8
impl NumExt for u8
Source§fn leading_zeros_logic(self) -> u32
fn leading_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self >> ($type::BITS - result - 1u32) == $one)
ensures
(result == $type::BITS) == (self == $zero)Source§fn trailing_zeros_logic(self) -> u32
fn trailing_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $zero)Source§fn leading_ones_logic(self) -> u32
fn leading_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (!self >> ($type::BITS - result - 1u32) == $zero)
ensures
(result == $type::BITS) == (self == $type::MAX)Source§fn trailing_ones_logic(self) -> u32
fn trailing_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result == $type::BITS) == (!self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $type::MAX)Source§impl NumExt for u16
impl NumExt for u16
Source§fn leading_zeros_logic(self) -> u32
fn leading_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self >> ($type::BITS - result - 1u32) == $one)
ensures
(result == $type::BITS) == (self == $zero)Source§fn trailing_zeros_logic(self) -> u32
fn trailing_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $zero)Source§fn leading_ones_logic(self) -> u32
fn leading_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (!self >> ($type::BITS - result - 1u32) == $zero)
ensures
(result == $type::BITS) == (self == $type::MAX)Source§fn trailing_ones_logic(self) -> u32
fn trailing_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result == $type::BITS) == (!self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $type::MAX)Source§impl NumExt for u32
impl NumExt for u32
Source§fn leading_zeros_logic(self) -> u32
fn leading_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self >> ($type::BITS - result - 1u32) == $one)
ensures
(result == $type::BITS) == (self == $zero)Source§fn trailing_zeros_logic(self) -> u32
fn trailing_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $zero)Source§fn leading_ones_logic(self) -> u32
fn leading_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (!self >> ($type::BITS - result - 1u32) == $zero)
ensures
(result == $type::BITS) == (self == $type::MAX)Source§fn trailing_ones_logic(self) -> u32
fn trailing_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result == $type::BITS) == (!self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $type::MAX)Source§impl NumExt for u64
impl NumExt for u64
Source§fn leading_zeros_logic(self) -> u32
fn leading_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self >> ($type::BITS - result - 1u32) == $one)
ensures
(result == $type::BITS) == (self == $zero)Source§fn trailing_zeros_logic(self) -> u32
fn trailing_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $zero)Source§fn leading_ones_logic(self) -> u32
fn leading_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (!self >> ($type::BITS - result - 1u32) == $zero)
ensures
(result == $type::BITS) == (self == $type::MAX)Source§fn trailing_ones_logic(self) -> u32
fn trailing_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result == $type::BITS) == (!self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $type::MAX)Source§impl NumExt for u128
impl NumExt for u128
Source§fn leading_zeros_logic(self) -> u32
fn leading_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self >> ($type::BITS - result - 1u32) == $one)
ensures
(result == $type::BITS) == (self == $zero)Source§fn trailing_zeros_logic(self) -> u32
fn trailing_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $zero)Source§fn leading_ones_logic(self) -> u32
fn leading_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (!self >> ($type::BITS - result - 1u32) == $zero)
ensures
(result == $type::BITS) == (self == $type::MAX)Source§fn trailing_ones_logic(self) -> u32
fn trailing_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result == $type::BITS) == (!self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $type::MAX)Source§impl NumExt for usize
impl NumExt for usize
Source§fn leading_zeros_logic(self) -> u32
fn leading_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self >> ($type::BITS - result - 1u32) == $one)
ensures
(result == $type::BITS) == (self == $zero)Source§fn trailing_zeros_logic(self) -> u32
fn trailing_zeros_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $zero)Source§fn leading_ones_logic(self) -> u32
fn leading_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result != $type::BITS) == (!self >> ($type::BITS - result - 1u32) == $zero)
ensures
(result == $type::BITS) == (self == $type::MAX)Source§fn trailing_ones_logic(self) -> u32
fn trailing_ones_logic(self) -> u32
logic(opaque) ⚠
ensures
result <= $type::BITSensures
(result == $type::BITS) == (!self << ($type::BITS - result - 1u32) == $one << ($type::BITS - 1u32))
ensures
(result == $type::BITS) == (self == $type::MAX)