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 u8impl CheckedShr for u16impl CheckedShr for u32impl CheckedShr for u64impl CheckedShr for usizeimpl CheckedShr for u128impl CheckedShr for i8impl CheckedShr for i16impl CheckedShr for i32impl CheckedShr for i64impl CheckedShr for isizeimpl CheckedShr for i128