Trait num_traits::ops::checked::CheckedShl
[−]
[src]
pub trait CheckedShl: Sized + Shl<u32, Output = Self> { fn checked_shl(&self, rhs: u32) -> Option<Self>; }
Performs a left shift that returns None
on overflow.
Required Methods
fn checked_shl(&self, rhs: u32) -> Option<Self>
Shifts a number to the left, checking for overflow. If overflow happens,
None
is returned.
use num_traits::CheckedShl; let x: u16 = 0x0001; assert_eq!(CheckedShl::checked_shl(&x, 0), Some(0x0001)); assert_eq!(CheckedShl::checked_shl(&x, 1), Some(0x0002)); assert_eq!(CheckedShl::checked_shl(&x, 15), Some(0x8000)); assert_eq!(CheckedShl::checked_shl(&x, 16), None);