[−][src]Trait rug::ops::DivRoundingAssign
Compound assignment and rounding variants of division.
Examples
use rug::ops::DivRoundingAssign; struct I(i32); impl DivRoundingAssign<i32> for I { fn div_trunc_assign(&mut self, rhs: i32) { self.0 /= rhs; } fn div_ceil_assign(&mut self, rhs: i32) { let (q, r) = (self.0 / rhs, self.0 % rhs); let change = if rhs > 0 { r > 0 } else { r < 0 }; self.0 = if change { q + 1 } else { q }; } fn div_floor_assign(&mut self, rhs: i32) { let (q, r) = (self.0 / rhs, self.0 % rhs); let change = if rhs > 0 { r < 0 } else { r > 0 }; self.0 = if change { q - 1 } else { q }; } fn div_euc_assign(&mut self, rhs: i32) { let (q, r) = (self.0 / rhs, self.0 % rhs); self.0 = if r < 0 { if rhs < 0 { q + 1 } else { q - 1 } } else { q }; } } let mut div_floor = I(-10); div_floor.div_floor_assign(3); assert_eq!(div_floor.0, -4);
Required methods
fn div_trunc_assign(&mut self, rhs: Rhs)
Performs division, rounding the quotient towards zero.
fn div_ceil_assign(&mut self, rhs: Rhs)
Performs division, rounding the quotient up.
fn div_floor_assign(&mut self, rhs: Rhs)
Performs division, rounding the quotient down.
fn div_euc_assign(&mut self, rhs: Rhs)
Performs Euclidean division, rounding the quotient so that the remainder cannot be negative.
Implementations on Foreign Types
impl DivRoundingAssign<i8> for i8
[src]
impl DivRoundingAssign<i8> for i8
fn div_trunc_assign(&mut self, rhs: i8) | [src] |
fn div_ceil_assign(&mut self, rhs: i8) | [src] |
fn div_floor_assign(&mut self, rhs: i8) | [src] |
fn div_euc_assign(&mut self, rhs: i8) | [src] |
impl<'a> DivRoundingAssign<&'a i8> for i8
[src]
impl<'a> DivRoundingAssign<&'a i8> for i8
fn div_trunc_assign(&mut self, rhs: &i8) | [src] |
fn div_ceil_assign(&mut self, rhs: &i8) | [src] |
fn div_floor_assign(&mut self, rhs: &i8) | [src] |
fn div_euc_assign(&mut self, rhs: &i8) | [src] |
impl DivRoundingAssign<i16> for i16
[src]
impl DivRoundingAssign<i16> for i16
fn div_trunc_assign(&mut self, rhs: i16) | [src] |
fn div_ceil_assign(&mut self, rhs: i16) | [src] |
fn div_floor_assign(&mut self, rhs: i16) | [src] |
fn div_euc_assign(&mut self, rhs: i16) | [src] |
impl<'a> DivRoundingAssign<&'a i16> for i16
[src]
impl<'a> DivRoundingAssign<&'a i16> for i16
fn div_trunc_assign(&mut self, rhs: &i16) | [src] |
fn div_ceil_assign(&mut self, rhs: &i16) | [src] |
fn div_floor_assign(&mut self, rhs: &i16) | [src] |
fn div_euc_assign(&mut self, rhs: &i16) | [src] |
impl DivRoundingAssign<i32> for i32
[src]
impl DivRoundingAssign<i32> for i32
fn div_trunc_assign(&mut self, rhs: i32) | [src] |
fn div_ceil_assign(&mut self, rhs: i32) | [src] |
fn div_floor_assign(&mut self, rhs: i32) | [src] |
fn div_euc_assign(&mut self, rhs: i32) | [src] |
impl<'a> DivRoundingAssign<&'a i32> for i32
[src]
impl<'a> DivRoundingAssign<&'a i32> for i32
fn div_trunc_assign(&mut self, rhs: &i32) | [src] |
fn div_ceil_assign(&mut self, rhs: &i32) | [src] |
fn div_floor_assign(&mut self, rhs: &i32) | [src] |
fn div_euc_assign(&mut self, rhs: &i32) | [src] |
impl DivRoundingAssign<i64> for i64
[src]
impl DivRoundingAssign<i64> for i64
fn div_trunc_assign(&mut self, rhs: i64) | [src] |
fn div_ceil_assign(&mut self, rhs: i64) | [src] |
fn div_floor_assign(&mut self, rhs: i64) | [src] |
fn div_euc_assign(&mut self, rhs: i64) | [src] |
impl<'a> DivRoundingAssign<&'a i64> for i64
[src]
impl<'a> DivRoundingAssign<&'a i64> for i64
fn div_trunc_assign(&mut self, rhs: &i64) | [src] |
fn div_ceil_assign(&mut self, rhs: &i64) | [src] |
fn div_floor_assign(&mut self, rhs: &i64) | [src] |
fn div_euc_assign(&mut self, rhs: &i64) | [src] |
impl DivRoundingAssign<i128> for i128
[src]
impl DivRoundingAssign<i128> for i128
fn div_trunc_assign(&mut self, rhs: i128) | [src] |
fn div_ceil_assign(&mut self, rhs: i128) | [src] |
fn div_floor_assign(&mut self, rhs: i128) | [src] |
fn div_euc_assign(&mut self, rhs: i128) | [src] |
impl<'a> DivRoundingAssign<&'a i128> for i128
[src]
impl<'a> DivRoundingAssign<&'a i128> for i128
fn div_trunc_assign(&mut self, rhs: &i128) | [src] |
fn div_ceil_assign(&mut self, rhs: &i128) | [src] |
fn div_floor_assign(&mut self, rhs: &i128) | [src] |
fn div_euc_assign(&mut self, rhs: &i128) | [src] |
impl DivRoundingAssign<isize> for isize
[src]
impl DivRoundingAssign<isize> for isize
fn div_trunc_assign(&mut self, rhs: isize) | [src] |
fn div_ceil_assign(&mut self, rhs: isize) | [src] |
fn div_floor_assign(&mut self, rhs: isize) | [src] |
fn div_euc_assign(&mut self, rhs: isize) | [src] |
impl<'a> DivRoundingAssign<&'a isize> for isize
[src]
impl<'a> DivRoundingAssign<&'a isize> for isize
fn div_trunc_assign(&mut self, rhs: &isize) | [src] |
fn div_ceil_assign(&mut self, rhs: &isize) | [src] |
fn div_floor_assign(&mut self, rhs: &isize) | [src] |
fn div_euc_assign(&mut self, rhs: &isize) | [src] |
impl DivRoundingAssign<u8> for u8
[src]
impl DivRoundingAssign<u8> for u8
fn div_trunc_assign(&mut self, rhs: u8) | [src] |
fn div_ceil_assign(&mut self, rhs: u8) | [src] |
fn div_floor_assign(&mut self, rhs: u8) | [src] |
fn div_euc_assign(&mut self, rhs: u8) | [src] |
impl<'a> DivRoundingAssign<&'a u8> for u8
[src]
impl<'a> DivRoundingAssign<&'a u8> for u8
fn div_trunc_assign(&mut self, rhs: &u8) | [src] |
fn div_ceil_assign(&mut self, rhs: &u8) | [src] |
fn div_floor_assign(&mut self, rhs: &u8) | [src] |
fn div_euc_assign(&mut self, rhs: &u8) | [src] |
impl DivRoundingAssign<u16> for u16
[src]
impl DivRoundingAssign<u16> for u16
fn div_trunc_assign(&mut self, rhs: u16) | [src] |
fn div_ceil_assign(&mut self, rhs: u16) | [src] |
fn div_floor_assign(&mut self, rhs: u16) | [src] |
fn div_euc_assign(&mut self, rhs: u16) | [src] |
impl<'a> DivRoundingAssign<&'a u16> for u16
[src]
impl<'a> DivRoundingAssign<&'a u16> for u16
fn div_trunc_assign(&mut self, rhs: &u16) | [src] |
fn div_ceil_assign(&mut self, rhs: &u16) | [src] |
fn div_floor_assign(&mut self, rhs: &u16) | [src] |
fn div_euc_assign(&mut self, rhs: &u16) | [src] |
impl DivRoundingAssign<u32> for u32
[src]
impl DivRoundingAssign<u32> for u32
fn div_trunc_assign(&mut self, rhs: u32) | [src] |
fn div_ceil_assign(&mut self, rhs: u32) | [src] |
fn div_floor_assign(&mut self, rhs: u32) | [src] |
fn div_euc_assign(&mut self, rhs: u32) | [src] |
impl<'a> DivRoundingAssign<&'a u32> for u32
[src]
impl<'a> DivRoundingAssign<&'a u32> for u32
fn div_trunc_assign(&mut self, rhs: &u32) | [src] |
fn div_ceil_assign(&mut self, rhs: &u32) | [src] |
fn div_floor_assign(&mut self, rhs: &u32) | [src] |
fn div_euc_assign(&mut self, rhs: &u32) | [src] |
impl DivRoundingAssign<u64> for u64
[src]
impl DivRoundingAssign<u64> for u64
fn div_trunc_assign(&mut self, rhs: u64) | [src] |
fn div_ceil_assign(&mut self, rhs: u64) | [src] |
fn div_floor_assign(&mut self, rhs: u64) | [src] |
fn div_euc_assign(&mut self, rhs: u64) | [src] |
impl<'a> DivRoundingAssign<&'a u64> for u64
[src]
impl<'a> DivRoundingAssign<&'a u64> for u64
fn div_trunc_assign(&mut self, rhs: &u64) | [src] |
fn div_ceil_assign(&mut self, rhs: &u64) | [src] |
fn div_floor_assign(&mut self, rhs: &u64) | [src] |
fn div_euc_assign(&mut self, rhs: &u64) | [src] |
impl DivRoundingAssign<u128> for u128
[src]
impl DivRoundingAssign<u128> for u128
fn div_trunc_assign(&mut self, rhs: u128) | [src] |
fn div_ceil_assign(&mut self, rhs: u128) | [src] |
fn div_floor_assign(&mut self, rhs: u128) | [src] |
fn div_euc_assign(&mut self, rhs: u128) | [src] |
impl<'a> DivRoundingAssign<&'a u128> for u128
[src]
impl<'a> DivRoundingAssign<&'a u128> for u128
fn div_trunc_assign(&mut self, rhs: &u128) | [src] |
fn div_ceil_assign(&mut self, rhs: &u128) | [src] |
fn div_floor_assign(&mut self, rhs: &u128) | [src] |
fn div_euc_assign(&mut self, rhs: &u128) | [src] |
impl DivRoundingAssign<usize> for usize
[src]
impl DivRoundingAssign<usize> for usize
fn div_trunc_assign(&mut self, rhs: usize) | [src] |
fn div_ceil_assign(&mut self, rhs: usize) | [src] |
fn div_floor_assign(&mut self, rhs: usize) | [src] |
fn div_euc_assign(&mut self, rhs: usize) | [src] |
impl<'a> DivRoundingAssign<&'a usize> for usize
[src]
impl<'a> DivRoundingAssign<&'a usize> for usize
fn div_trunc_assign(&mut self, rhs: &usize) | [src] |
fn div_ceil_assign(&mut self, rhs: &usize) | [src] |
fn div_floor_assign(&mut self, rhs: &usize) | [src] |
fn div_euc_assign(&mut self, rhs: &usize) | [src] |
impl DivRoundingAssign<f32> for f32
[src]
impl DivRoundingAssign<f32> for f32
fn div_trunc_assign(&mut self, rhs: f32) | [src] |
fn div_ceil_assign(&mut self, rhs: f32) | [src] |
fn div_floor_assign(&mut self, rhs: f32) | [src] |
fn div_euc_assign(&mut self, rhs: f32) | [src] |
impl<'a> DivRoundingAssign<&'a f32> for f32
[src]
impl<'a> DivRoundingAssign<&'a f32> for f32
fn div_trunc_assign(&mut self, rhs: &f32) | [src] |
fn div_ceil_assign(&mut self, rhs: &f32) | [src] |
fn div_floor_assign(&mut self, rhs: &f32) | [src] |
fn div_euc_assign(&mut self, rhs: &f32) | [src] |
impl DivRoundingAssign<f64> for f64
[src]
impl DivRoundingAssign<f64> for f64
fn div_trunc_assign(&mut self, rhs: f64) | [src] |
fn div_ceil_assign(&mut self, rhs: f64) | [src] |
fn div_floor_assign(&mut self, rhs: f64) | [src] |
fn div_euc_assign(&mut self, rhs: f64) | [src] |
impl<'a> DivRoundingAssign<&'a f64> for f64
[src]
impl<'a> DivRoundingAssign<&'a f64> for f64
fn div_trunc_assign(&mut self, rhs: &f64) | [src] |
fn div_ceil_assign(&mut self, rhs: &f64) | [src] |
fn div_floor_assign(&mut self, rhs: &f64) | [src] |
fn div_euc_assign(&mut self, rhs: &f64) | [src] |
Implementors
impl DivRoundingAssign<i32> for Integer
[src]
impl DivRoundingAssign<i32> for Integer
fn div_trunc_assign(&mut self, rhs: i32) | [src] |
fn div_ceil_assign(&mut self, rhs: i32) | [src] |
fn div_floor_assign(&mut self, rhs: i32) | [src] |
fn div_euc_assign(&mut self, rhs: i32) | [src] |
impl DivRoundingAssign<u32> for Integer
[src]
impl DivRoundingAssign<u32> for Integer
fn div_trunc_assign(&mut self, rhs: u32) | [src] |
fn div_ceil_assign(&mut self, rhs: u32) | [src] |
fn div_floor_assign(&mut self, rhs: u32) | [src] |
fn div_euc_assign(&mut self, rhs: u32) | [src] |
impl DivRoundingAssign<Integer> for Integer
[src]
impl DivRoundingAssign<Integer> for Integer
fn div_trunc_assign(&mut self, rhs: Integer) | [src] |
fn div_ceil_assign(&mut self, rhs: Integer) | [src] |
fn div_floor_assign(&mut self, rhs: Integer) | [src] |
fn div_euc_assign(&mut self, rhs: Integer) | [src] |
impl<'i> DivRoundingAssign<&'i Integer> for Integer
[src]
impl<'i> DivRoundingAssign<&'i Integer> for Integer
fn div_trunc_assign(&mut self, rhs: &Integer) | [src] |
fn div_ceil_assign(&mut self, rhs: &Integer) | [src] |
fn div_floor_assign(&mut self, rhs: &Integer) | [src] |
fn div_euc_assign(&mut self, rhs: &Integer) | [src] |
impl<'t> DivRoundingAssign<&'t i32> for Integer
[src]
impl<'t> DivRoundingAssign<&'t i32> for Integer
fn div_trunc_assign(&mut self, rhs: &i32) | [src] |
fn div_ceil_assign(&mut self, rhs: &i32) | [src] |
fn div_floor_assign(&mut self, rhs: &i32) | [src] |
fn div_euc_assign(&mut self, rhs: &i32) | [src] |
impl<'t> DivRoundingAssign<&'t u32> for Integer
[src]
impl<'t> DivRoundingAssign<&'t u32> for Integer
fn div_trunc_assign(&mut self, rhs: &u32) | [src] |
fn div_ceil_assign(&mut self, rhs: &u32) | [src] |
fn div_floor_assign(&mut self, rhs: &u32) | [src] |
fn div_euc_assign(&mut self, rhs: &u32) | [src] |