Trait argmin::prelude::CheckedShl[][src]

pub trait CheckedShl: Shl<u32, Output = Self> {
    fn checked_shl(&self, rhs: u32) -> Option<Self>;
}
Expand description

Performs a left shift that returns None on shifts larger than the type width.

Required methods

fn checked_shl(&self, rhs: u32) -> Option<Self>[src]

Checked shift left. Computes self << rhs, returning None if rhs is larger than or equal to the number of bits in self.

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);

Implementations on Foreign Types

impl CheckedShl for u64[src]

pub fn checked_shl(&self, rhs: u32) -> Option<u64>[src]

impl CheckedShl for usize[src]

pub fn checked_shl(&self, rhs: u32) -> Option<usize>[src]

impl CheckedShl for i8[src]

pub fn checked_shl(&self, rhs: u32) -> Option<i8>[src]

impl CheckedShl for u32[src]

pub fn checked_shl(&self, rhs: u32) -> Option<u32>[src]

impl CheckedShl for u128[src]

pub fn checked_shl(&self, rhs: u32) -> Option<u128>[src]

impl CheckedShl for i32[src]

pub fn checked_shl(&self, rhs: u32) -> Option<i32>[src]

impl CheckedShl for i64[src]

pub fn checked_shl(&self, rhs: u32) -> Option<i64>[src]

impl CheckedShl for u8[src]

pub fn checked_shl(&self, rhs: u32) -> Option<u8>[src]

impl CheckedShl for isize[src]

pub fn checked_shl(&self, rhs: u32) -> Option<isize>[src]

impl CheckedShl for u16[src]

pub fn checked_shl(&self, rhs: u32) -> Option<u16>[src]

impl CheckedShl for i128[src]

pub fn checked_shl(&self, rhs: u32) -> Option<i128>[src]

impl CheckedShl for i16[src]

pub fn checked_shl(&self, rhs: u32) -> Option<i16>[src]

Implementors