Trait rug::ops::ShlFrom
[−]
[src]
pub trait ShlFrom<Lhs = Self> { fn shl_from(&mut self, lhs: Lhs); }
Compound left shift and assignment to the rhs operand.
rhs.shl_from(lhs)
has the same effect as rhs = lhs << rhs
.
Examples
use rug::Integer; use rug::ops::ShlFrom; use std::mem; 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
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);