[−][src]Trait rug::ops::RemRoundingFrom
Compound assignment to the rhs operand and rounding variants of the remainder operation.
Examples
use rug::ops::RemRoundingFrom; struct I(i32); impl RemRoundingFrom<i32> for I { fn rem_trunc_from(&mut self, lhs: i32) { self.0 = lhs % self.0; } fn rem_ceil_from(&mut self, lhs: i32) { let r = lhs % self.0; let change = if self.0 > 0 { r > 0 } else { r < 0 }; self.0 = if change { r - self.0 } else { r }; } fn rem_floor_from(&mut self, lhs: i32) { let r = lhs % self.0; let change = if self.0 > 0 { r < 0 } else { r > 0 }; self.0 = if change { r + self.0 } else { r }; } fn rem_euc_from(&mut self, lhs: i32) { let r = lhs % self.0; self.0 = if r < 0 { if self.0 < 0 { r - self.0 } else { r + self.0 } } else { r }; } } let mut rem_ceil = I(3); rem_ceil.rem_ceil_from(10); assert_eq!(rem_ceil.0, -2);
Required methods
fn rem_trunc_from(&mut self, lhs: Lhs)
Finds the remainder when the quotient is rounded towards zero.
fn rem_ceil_from(&mut self, lhs: Lhs)
Finds the remainder when the quotient is rounded up.
fn rem_floor_from(&mut self, lhs: Lhs)
Finds the remainder when the quotient is rounded down.
fn rem_euc_from(&mut self, lhs: Lhs)
Finds the positive remainder from Euclidean division.
Implementations on Foreign Types
impl RemRoundingFrom<i8> for i8
[src]
impl RemRoundingFrom<i8> for i8
fn rem_trunc_from(&mut self, lhs: i8) | [src] |
fn rem_ceil_from(&mut self, lhs: i8) | [src] |
fn rem_floor_from(&mut self, lhs: i8) | [src] |
fn rem_euc_from(&mut self, lhs: i8) | [src] |
impl<'a> RemRoundingFrom<&'a i8> for i8
[src]
impl<'a> RemRoundingFrom<&'a i8> for i8
fn rem_trunc_from(&mut self, lhs: &i8) | [src] |
fn rem_ceil_from(&mut self, lhs: &i8) | [src] |
fn rem_floor_from(&mut self, lhs: &i8) | [src] |
fn rem_euc_from(&mut self, lhs: &i8) | [src] |
impl RemRoundingFrom<i16> for i16
[src]
impl RemRoundingFrom<i16> for i16
fn rem_trunc_from(&mut self, lhs: i16) | [src] |
fn rem_ceil_from(&mut self, lhs: i16) | [src] |
fn rem_floor_from(&mut self, lhs: i16) | [src] |
fn rem_euc_from(&mut self, lhs: i16) | [src] |
impl<'a> RemRoundingFrom<&'a i16> for i16
[src]
impl<'a> RemRoundingFrom<&'a i16> for i16
fn rem_trunc_from(&mut self, lhs: &i16) | [src] |
fn rem_ceil_from(&mut self, lhs: &i16) | [src] |
fn rem_floor_from(&mut self, lhs: &i16) | [src] |
fn rem_euc_from(&mut self, lhs: &i16) | [src] |
impl RemRoundingFrom<i32> for i32
[src]
impl RemRoundingFrom<i32> for i32
fn rem_trunc_from(&mut self, lhs: i32) | [src] |
fn rem_ceil_from(&mut self, lhs: i32) | [src] |
fn rem_floor_from(&mut self, lhs: i32) | [src] |
fn rem_euc_from(&mut self, lhs: i32) | [src] |
impl<'a> RemRoundingFrom<&'a i32> for i32
[src]
impl<'a> RemRoundingFrom<&'a i32> for i32
fn rem_trunc_from(&mut self, lhs: &i32) | [src] |
fn rem_ceil_from(&mut self, lhs: &i32) | [src] |
fn rem_floor_from(&mut self, lhs: &i32) | [src] |
fn rem_euc_from(&mut self, lhs: &i32) | [src] |
impl RemRoundingFrom<i64> for i64
[src]
impl RemRoundingFrom<i64> for i64
fn rem_trunc_from(&mut self, lhs: i64) | [src] |
fn rem_ceil_from(&mut self, lhs: i64) | [src] |
fn rem_floor_from(&mut self, lhs: i64) | [src] |
fn rem_euc_from(&mut self, lhs: i64) | [src] |
impl<'a> RemRoundingFrom<&'a i64> for i64
[src]
impl<'a> RemRoundingFrom<&'a i64> for i64
fn rem_trunc_from(&mut self, lhs: &i64) | [src] |
fn rem_ceil_from(&mut self, lhs: &i64) | [src] |
fn rem_floor_from(&mut self, lhs: &i64) | [src] |
fn rem_euc_from(&mut self, lhs: &i64) | [src] |
impl RemRoundingFrom<i128> for i128
[src]
impl RemRoundingFrom<i128> for i128
fn rem_trunc_from(&mut self, lhs: i128) | [src] |
fn rem_ceil_from(&mut self, lhs: i128) | [src] |
fn rem_floor_from(&mut self, lhs: i128) | [src] |
fn rem_euc_from(&mut self, lhs: i128) | [src] |
impl<'a> RemRoundingFrom<&'a i128> for i128
[src]
impl<'a> RemRoundingFrom<&'a i128> for i128
fn rem_trunc_from(&mut self, lhs: &i128) | [src] |
fn rem_ceil_from(&mut self, lhs: &i128) | [src] |
fn rem_floor_from(&mut self, lhs: &i128) | [src] |
fn rem_euc_from(&mut self, lhs: &i128) | [src] |
impl RemRoundingFrom<isize> for isize
[src]
impl RemRoundingFrom<isize> for isize
fn rem_trunc_from(&mut self, lhs: isize) | [src] |
fn rem_ceil_from(&mut self, lhs: isize) | [src] |
fn rem_floor_from(&mut self, lhs: isize) | [src] |
fn rem_euc_from(&mut self, lhs: isize) | [src] |
impl<'a> RemRoundingFrom<&'a isize> for isize
[src]
impl<'a> RemRoundingFrom<&'a isize> for isize
fn rem_trunc_from(&mut self, lhs: &isize) | [src] |
fn rem_ceil_from(&mut self, lhs: &isize) | [src] |
fn rem_floor_from(&mut self, lhs: &isize) | [src] |
fn rem_euc_from(&mut self, lhs: &isize) | [src] |
impl RemRoundingFrom<f32> for f32
[src]
impl RemRoundingFrom<f32> for f32
fn rem_trunc_from(&mut self, lhs: f32) | [src] |
fn rem_ceil_from(&mut self, lhs: f32) | [src] |
fn rem_floor_from(&mut self, lhs: f32) | [src] |
fn rem_euc_from(&mut self, lhs: f32) | [src] |
impl<'a> RemRoundingFrom<&'a f32> for f32
[src]
impl<'a> RemRoundingFrom<&'a f32> for f32
fn rem_trunc_from(&mut self, lhs: &f32) | [src] |
fn rem_ceil_from(&mut self, lhs: &f32) | [src] |
fn rem_floor_from(&mut self, lhs: &f32) | [src] |
fn rem_euc_from(&mut self, lhs: &f32) | [src] |
impl RemRoundingFrom<f64> for f64
[src]
impl RemRoundingFrom<f64> for f64
fn rem_trunc_from(&mut self, lhs: f64) | [src] |
fn rem_ceil_from(&mut self, lhs: f64) | [src] |
fn rem_floor_from(&mut self, lhs: f64) | [src] |
fn rem_euc_from(&mut self, lhs: f64) | [src] |
impl<'a> RemRoundingFrom<&'a f64> for f64
[src]
impl<'a> RemRoundingFrom<&'a f64> for f64
fn rem_trunc_from(&mut self, lhs: &f64) | [src] |
fn rem_ceil_from(&mut self, lhs: &f64) | [src] |
fn rem_floor_from(&mut self, lhs: &f64) | [src] |
fn rem_euc_from(&mut self, lhs: &f64) | [src] |
Implementors
impl RemRoundingFrom<i32> for Integer
[src]
impl RemRoundingFrom<i32> for Integer
fn rem_trunc_from(&mut self, lhs: i32) | [src] |
fn rem_ceil_from(&mut self, lhs: i32) | [src] |
fn rem_floor_from(&mut self, lhs: i32) | [src] |
fn rem_euc_from(&mut self, lhs: i32) | [src] |
impl RemRoundingFrom<u32> for Integer
[src]
impl RemRoundingFrom<u32> for Integer
fn rem_trunc_from(&mut self, lhs: u32) | [src] |
fn rem_ceil_from(&mut self, lhs: u32) | [src] |
fn rem_floor_from(&mut self, lhs: u32) | [src] |
fn rem_euc_from(&mut self, lhs: u32) | [src] |
impl RemRoundingFrom<Integer> for Integer
[src]
impl RemRoundingFrom<Integer> for Integer
fn rem_trunc_from(&mut self, lhs: Integer) | [src] |
fn rem_ceil_from(&mut self, lhs: Integer) | [src] |
fn rem_floor_from(&mut self, lhs: Integer) | [src] |
fn rem_euc_from(&mut self, lhs: Integer) | [src] |
impl<'i> RemRoundingFrom<&'i Integer> for Integer
[src]
impl<'i> RemRoundingFrom<&'i Integer> for Integer
fn rem_trunc_from(&mut self, lhs: &Integer) | [src] |
fn rem_ceil_from(&mut self, lhs: &Integer) | [src] |
fn rem_floor_from(&mut self, lhs: &Integer) | [src] |
fn rem_euc_from(&mut self, lhs: &Integer) | [src] |
impl<'t> RemRoundingFrom<&'t i32> for Integer
[src]
impl<'t> RemRoundingFrom<&'t i32> for Integer
fn rem_trunc_from(&mut self, lhs: &i32) | [src] |
fn rem_ceil_from(&mut self, lhs: &i32) | [src] |
fn rem_floor_from(&mut self, lhs: &i32) | [src] |
fn rem_euc_from(&mut self, lhs: &i32) | [src] |
impl<'t> RemRoundingFrom<&'t u32> for Integer
[src]
impl<'t> RemRoundingFrom<&'t u32> for Integer
fn rem_trunc_from(&mut self, lhs: &u32) | [src] |
fn rem_ceil_from(&mut self, lhs: &u32) | [src] |
fn rem_floor_from(&mut self, lhs: &u32) | [src] |
fn rem_euc_from(&mut self, lhs: &u32) | [src] |