Trait num_traits::CheckedShr
[−]
[src]
pub trait CheckedShr: 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);