Module malachite_base::num::arithmetic::div_round
source · [−]Expand description
DivRound
and DivExactAssign
, traits for
dividing two numbers according to a specified
RoundingMode
.
div_round
use malachite_base::num::arithmetic::traits::DivRound;
use malachite_base::rounding_modes::RoundingMode;
assert_eq!(10u8.div_round(4, RoundingMode::Down), 2);
assert_eq!(10u16.div_round(4, RoundingMode::Up), 3);
assert_eq!(10u32.div_round(5, RoundingMode::Exact), 2);
assert_eq!(10u64.div_round(3, RoundingMode::Nearest), 3);
assert_eq!(20u128.div_round(3, RoundingMode::Nearest), 7);
assert_eq!(10usize.div_round(4, RoundingMode::Nearest), 2);
assert_eq!(14u8.div_round(4, RoundingMode::Nearest), 4);
assert_eq!((-10i8).div_round(4, RoundingMode::Down), -2);
assert_eq!((-10i16).div_round(4, RoundingMode::Up), -3);
assert_eq!((-10i32).div_round(5, RoundingMode::Exact), -2);
assert_eq!((-10i64).div_round(3, RoundingMode::Nearest), -3);
assert_eq!((-20i128).div_round(3, RoundingMode::Nearest), -7);
assert_eq!((-10isize).div_round(4, RoundingMode::Nearest), -2);
assert_eq!((-14i8).div_round(4, RoundingMode::Nearest), -4);
assert_eq!((-10i16).div_round(-4, RoundingMode::Down), 2);
assert_eq!((-10i32).div_round(-4, RoundingMode::Up), 3);
assert_eq!((-10i64).div_round(-5, RoundingMode::Exact), 2);
assert_eq!((-10i128).div_round(-3, RoundingMode::Nearest), 3);
assert_eq!((-20isize).div_round(-3, RoundingMode::Nearest), 7);
assert_eq!((-10i8).div_round(-4, RoundingMode::Nearest), 2);
assert_eq!((-14i16).div_round(-4, RoundingMode::Nearest), 4);
div_round_assign
use malachite_base::num::arithmetic::traits::DivRoundAssign;
use malachite_base::rounding_modes::RoundingMode;
let mut x = 10u8;
x.div_round_assign(4, RoundingMode::Down);
assert_eq!(x, 2);
let mut x = 10u16;
x.div_round_assign(4, RoundingMode::Up);
assert_eq!(x, 3);
let mut x = 10u32;
x.div_round_assign(5, RoundingMode::Exact);
assert_eq!(x, 2);
let mut x = 10u64;
x.div_round_assign(3, RoundingMode::Nearest);
assert_eq!(x, 3);
let mut x = 20u128;
x.div_round_assign(3, RoundingMode::Nearest);
assert_eq!(x, 7);
let mut x = 10usize;
x.div_round_assign(4, RoundingMode::Nearest);
assert_eq!(x, 2);
let mut x = 14u8;
x.div_round_assign(4, RoundingMode::Nearest);
assert_eq!(x, 4);
let mut x = -10i8;
x.div_round_assign(4, RoundingMode::Down);
assert_eq!(x, -2);
let mut x = -10i16;
x.div_round_assign(4, RoundingMode::Up);
assert_eq!(x, -3);
let mut x = -10i32;
x.div_round_assign(5, RoundingMode::Exact);
assert_eq!(x, -2);
let mut x = -10i64;
x.div_round_assign(3, RoundingMode::Nearest);
assert_eq!(x, -3);
let mut x = -20i128;
x.div_round_assign(3, RoundingMode::Nearest);
assert_eq!(x, -7);
let mut x = -10isize;
x.div_round_assign(4, RoundingMode::Nearest);
assert_eq!(x, -2);
let mut x = -14i8;
x.div_round_assign(4, RoundingMode::Nearest);
assert_eq!(x, -4);
let mut x = -10i16;
x.div_round_assign(-4, RoundingMode::Down);
assert_eq!(x, 2);
let mut x = -10i32;
x.div_round_assign(-4, RoundingMode::Up);
assert_eq!(x, 3);
let mut x = -10i64;
x.div_round_assign(-5, RoundingMode::Exact);
assert_eq!(x, 2);
let mut x = -10i128;
x.div_round_assign(-3, RoundingMode::Nearest);
assert_eq!(x, 3);
let mut x = -20isize;
x.div_round_assign(-3, RoundingMode::Nearest);
assert_eq!(x, 7);
let mut x = -10i8;
x.div_round_assign(-4, RoundingMode::Nearest);
assert_eq!(x, 2);
let mut x = -14i16;
x.div_round_assign(-4, RoundingMode::Nearest);
assert_eq!(x, 4);