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 shifts larger than
the type width.
Required methods
fn checked_shr(&self, rhs: u32) -> Option<Self>
[src]
Checked shift right. Computes self >> rhs
, returning None
if rhs
is larger than or equal to the number of bits in self
.
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);
Implementations on Foreign Types
impl CheckedShr for u8
[src]
impl CheckedShr for u8
[src]fn checked_shr(&self, rhs: u32) -> Option<u8>
[src]
impl CheckedShr for u16
[src]
impl CheckedShr for u16
[src]fn checked_shr(&self, rhs: u32) -> Option<u16>
[src]
impl CheckedShr for u32
[src]
impl CheckedShr for u32
[src]fn checked_shr(&self, rhs: u32) -> Option<u32>
[src]
impl CheckedShr for u64
[src]
impl CheckedShr for u64
[src]fn checked_shr(&self, rhs: u32) -> Option<u64>
[src]
impl CheckedShr for usize
[src]
impl CheckedShr for usize
[src]fn checked_shr(&self, rhs: u32) -> Option<usize>
[src]
impl CheckedShr for u128
[src]
impl CheckedShr for u128
[src]fn checked_shr(&self, rhs: u32) -> Option<u128>
[src]
impl CheckedShr for i8
[src]
impl CheckedShr for i8
[src]fn checked_shr(&self, rhs: u32) -> Option<i8>
[src]
impl CheckedShr for i16
[src]
impl CheckedShr for i16
[src]fn checked_shr(&self, rhs: u32) -> Option<i16>
[src]
impl CheckedShr for i32
[src]
impl CheckedShr for i32
[src]fn checked_shr(&self, rhs: u32) -> Option<i32>
[src]
impl CheckedShr for i64
[src]
impl CheckedShr for i64
[src]fn checked_shr(&self, rhs: u32) -> Option<i64>
[src]
impl CheckedShr for isize
[src]
impl CheckedShr for isize
[src]fn checked_shr(&self, rhs: u32) -> Option<isize>
[src]
impl CheckedShr for i128
[src]
impl CheckedShr for i128
[src]