Trait rug::ops::ShlFrom [−][src]
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, 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
fn shl_from(&mut self, lhs: Lhs)
[src]
Peforms the left shift.
Examples
use rug::ops::ShlFrom; let mut rhs = 4; rhs.shl_from(0x00f0); // rhs = 0x00f0 << 4 assert_eq!(rhs, 0x0f00);