pub enum ShiftVariant {
Sll,
Slr,
Sar,
Rotr,
Sll32,
Srl32,
Sra32,
Rotr32,
}
Expand description
A different variants of shifting a value.
Note that there is no shift left arithmetic because it is redundant.
Variants§
Sll
Shift logical left.
Slr
Shift logical right.
Sar
Shift arithmetic right.
This is similar to the logical shift right but instead of shifting in 0 bits it will replicate the sign bit.
Rotr
Rotate right.
Rotates bits to the right, with bits shifted off the right end wrapping around to the left.
Sll32
Shift logical left on 32-bit halves.
Performs independent logical left shifts on the upper and lower 32-bit halves of the word. Only uses the lower 5 bits of the shift amount (0-31).
Srl32
Shift logical right on 32-bit halves.
Performs independent logical right shifts on the upper and lower 32-bit halves of the word. Only uses the lower 5 bits of the shift amount (0-31).
Sra32
Shift arithmetic right on 32-bit halves.
Performs independent arithmetic right shifts on the upper and lower 32-bit halves of the word. Sign extends each 32-bit half independently. Only uses the lower 5 bits of the shift amount (0-31).
Rotr32
Rotate right on 32-bit halves.
Performs independent rotate right operations on the upper and lower 32-bit halves of the word. Bits shifted off the right end wrap around to the left within each 32-bit half. Only uses the lower 5 bits of the shift amount (0-31).
Trait Implementations§
Source§impl Clone for ShiftVariant
impl Clone for ShiftVariant
Source§fn clone(&self) -> ShiftVariant
fn clone(&self) -> ShiftVariant
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for ShiftVariant
impl Debug for ShiftVariant
Source§impl DeserializeBytes for ShiftVariant
impl DeserializeBytes for ShiftVariant
fn deserialize(read_buf: impl Buf) -> Result<Self, SerializationError>where
Self: Sized,
Source§impl Hash for ShiftVariant
impl Hash for ShiftVariant
Source§impl Ord for ShiftVariant
impl Ord for ShiftVariant
Source§fn cmp(&self, other: &ShiftVariant) -> Ordering
fn cmp(&self, other: &ShiftVariant) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for ShiftVariant
impl PartialEq for ShiftVariant
Source§impl PartialOrd for ShiftVariant
impl PartialOrd for ShiftVariant
Source§impl SerializeBytes for ShiftVariant
impl SerializeBytes for ShiftVariant
impl Copy for ShiftVariant
impl Eq for ShiftVariant
impl StructuralPartialEq for ShiftVariant
Auto Trait Implementations§
impl Freeze for ShiftVariant
impl RefUnwindSafe for ShiftVariant
impl Send for ShiftVariant
impl Sync for ShiftVariant
impl Unpin for ShiftVariant
impl UnwindSafe for ShiftVariant
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more