Trait num_traits::ops::wrapping::WrappingShr[][src]

pub trait WrappingShr: Sized + Shr<usize, Output = Self> {
    fn wrapping_shr(&self, rhs: u32) -> Self;
}

Performs a right shift that does not panic.

Required methods

fn wrapping_shr(&self, rhs: u32) -> Self[src]

Panic-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.

use num_traits::WrappingShr;

let x: u16 = 0x8000;

assert_eq!(WrappingShr::wrapping_shr(&x, 0),  0x8000);
assert_eq!(WrappingShr::wrapping_shr(&x, 1),  0x4000);
assert_eq!(WrappingShr::wrapping_shr(&x, 15), 0x0001);
assert_eq!(WrappingShr::wrapping_shr(&x, 16), 0x8000);
Loading content...

Implementations on Foreign Types

impl<T: WrappingShr> WrappingShr for Wrapping<T> where
    Wrapping<T>: Shr<usize, Output = Wrapping<T>>, 
[src]

Loading content...

Implementors

impl WrappingShr for i8[src]

impl WrappingShr for i16[src]

impl WrappingShr for i32[src]

impl WrappingShr for i64[src]

impl WrappingShr for i128[src]

impl WrappingShr for isize[src]

impl WrappingShr for u8[src]

impl WrappingShr for u16[src]

impl WrappingShr for u32[src]

impl WrappingShr for u64[src]

impl WrappingShr for u128[src]

impl WrappingShr for usize[src]

Loading content...