Trait rug::ops::ShlFrom

source ·
pub trait ShlFrom<Lhs = Self> {
    // Required method
    fn shl_from(&mut self, lhs: Lhs);
}
Expand description

Compound left shift and assignment to the rhs operand.

rhs.shl_from(lhs) has the same effect as rhs = lhs << rhs.

§Examples

use core::mem;
use rug::ops::ShlFrom;
use rug::Integer;
struct I(Integer);
impl ShlFrom for I {
    fn shl_from(&mut self, mut lhs: I) {
        let rhs = self.0.to_i32().expect("overflow");
        mem::swap(self, &mut lhs);
        self.0 <<= rhs;
    }
}
let mut i = I(Integer::from(200));
i.shl_from(I(Integer::from(0xf000)));
let expected = Integer::from(0xf000) << 200;
assert_eq!(i.0, expected);

Required Methods§

source

fn shl_from(&mut self, lhs: Lhs)

Peforms the left shift.

§Examples
use rug::ops::ShlFrom;
let mut rhs = 4;
rhs.shl_from(0x00f0);
// rhs = 0x00f0 << 4
assert_eq!(rhs, 0x0f00);

Implementations on Foreign Types§

source§

impl ShlFrom for i8

source§

fn shl_from(&mut self, lhs: i8)

source§

impl ShlFrom for i16

source§

fn shl_from(&mut self, lhs: i16)

source§

impl ShlFrom for i32

source§

fn shl_from(&mut self, lhs: i32)

source§

impl ShlFrom for i64

source§

fn shl_from(&mut self, lhs: i64)

source§

impl ShlFrom for i128

source§

fn shl_from(&mut self, lhs: i128)

source§

impl ShlFrom for isize

source§

fn shl_from(&mut self, lhs: isize)

source§

impl ShlFrom for u8

source§

fn shl_from(&mut self, lhs: u8)

source§

impl ShlFrom for u16

source§

fn shl_from(&mut self, lhs: u16)

source§

impl ShlFrom for u32

source§

fn shl_from(&mut self, lhs: u32)

source§

impl ShlFrom for u64

source§

fn shl_from(&mut self, lhs: u64)

source§

impl ShlFrom for u128

source§

fn shl_from(&mut self, lhs: u128)

source§

impl ShlFrom for usize

source§

fn shl_from(&mut self, lhs: usize)

source§

impl ShlFrom<&i8> for i8

source§

fn shl_from(&mut self, lhs: &i8)

source§

impl ShlFrom<&i16> for i16

source§

fn shl_from(&mut self, lhs: &i16)

source§

impl ShlFrom<&i32> for i32

source§

fn shl_from(&mut self, lhs: &i32)

source§

impl ShlFrom<&i64> for i64

source§

fn shl_from(&mut self, lhs: &i64)

source§

impl ShlFrom<&i128> for i128

source§

fn shl_from(&mut self, lhs: &i128)

source§

impl ShlFrom<&isize> for isize

source§

fn shl_from(&mut self, lhs: &isize)

source§

impl ShlFrom<&u8> for u8

source§

fn shl_from(&mut self, lhs: &u8)

source§

impl ShlFrom<&u16> for u16

source§

fn shl_from(&mut self, lhs: &u16)

source§

impl ShlFrom<&u32> for u32

source§

fn shl_from(&mut self, lhs: &u32)

source§

impl ShlFrom<&u64> for u64

source§

fn shl_from(&mut self, lhs: &u64)

source§

impl ShlFrom<&u128> for u128

source§

fn shl_from(&mut self, lhs: &u128)

source§

impl ShlFrom<&usize> for usize

source§

fn shl_from(&mut self, lhs: &usize)

Implementors§