Trait num_traits::ops::checked::CheckedShr [−][src]
pub trait CheckedShr: Sized + Shr<u32, Output = Self> { fn checked_shr(&self, rhs: u32) -> Option<Self>; }
Performs a right shift that returns None
on overflow.
Required Methods
fn checked_shr(&self, rhs: u32) -> Option<Self>
Shifts a number to the left, checking for overflow. If overflow happens,
None
is returned.
use num_traits::CheckedShr; let x: u16 = 0x8000; assert_eq!(CheckedShr::checked_shr(&x, 0), Some(0x8000)); assert_eq!(CheckedShr::checked_shr(&x, 1), Some(0x4000)); assert_eq!(CheckedShr::checked_shr(&x, 15), Some(0x0001)); assert_eq!(CheckedShr::checked_shr(&x, 16), None);
Implementors
impl CheckedShr for u8
impl CheckedShr for u16
impl CheckedShr for u32
impl CheckedShr for u64
impl CheckedShr for usize
impl CheckedShr for u128
impl CheckedShr for i8
impl CheckedShr for i16
impl CheckedShr for i32
impl CheckedShr for i64
impl CheckedShr for isize
impl CheckedShr for i128