Trait ndarray_rand::rand_distr::num_traits::ops::wrapping::WrappingShl[][src]

pub trait WrappingShl: Shl<usize, Output = Self> {
    pub fn wrapping_shl(&self, rhs: u32) -> Self;
}

Performs a left shift that does not panic.

Required methods

pub fn wrapping_shl(&self, rhs: u32) -> Self[src]

Panic-free bitwise shift-left; yields self << mask(rhs), where mask removes any high order bits of rhs that would cause the shift to exceed the bitwidth of the type.

use num_traits::WrappingShl;

let x: u16 = 0x0001;

assert_eq!(WrappingShl::wrapping_shl(&x, 0),  0x0001);
assert_eq!(WrappingShl::wrapping_shl(&x, 1),  0x0002);
assert_eq!(WrappingShl::wrapping_shl(&x, 15), 0x8000);
assert_eq!(WrappingShl::wrapping_shl(&x, 16), 0x0001);
Loading content...

Implementations on Foreign Types

impl WrappingShl for u64[src]

impl WrappingShl for i32[src]

impl WrappingShl for u128[src]

impl WrappingShl for i16[src]

impl WrappingShl for i64[src]

impl WrappingShl for u16[src]

impl WrappingShl for isize[src]

impl WrappingShl for u32[src]

impl WrappingShl for usize[src]

impl WrappingShl for i128[src]

impl WrappingShl for i8[src]

impl WrappingShl for u8[src]

impl<T> WrappingShl for Wrapping<T> where
    T: WrappingShl,
    Wrapping<T>: Shl<usize>,
    <Wrapping<T> as Shl<usize>>::Output == Wrapping<T>, 
[src]

Loading content...

Implementors

Loading content...