Module malachite_q::arithmetic::shr
source · [−]Expand description
Right-shifting a Rational
(dividing it by a power of 2).
shr
extern crate malachite_base;
use malachite_base::num::basic::traits::Zero;
use malachite_q::Rational;
assert_eq!(Rational::ZERO >> 10u8, 0);
assert_eq!((Rational::from(123) >> 2u16).to_string(), "123/4");
assert_eq!((Rational::from_signeds(22, 7) >> 2u16).to_string(), "11/14");
assert_eq!(Rational::ZERO >> 10i8, 0);
assert_eq!((Rational::from(123) >> 2i16).to_string(), "123/4");
assert_eq!(Rational::from(123) >> -2i16, 492);
assert_eq!((Rational::from_signeds(22, 7) >> 2i16).to_string(), "11/14");
assert_eq!((Rational::from_signeds(7, 22) >> -2i16).to_string(), "14/11");
assert_eq!(&Rational::ZERO >> 10u8, 0);
assert_eq!((&Rational::from(123) >> 2u16).to_string(), "123/4");
assert_eq!((&Rational::from_signeds(22, 7) >> 2u16).to_string(), "11/14");
assert_eq!(&Rational::ZERO >> 10i8, 0);
assert_eq!((&Rational::from(123) >> 2i16).to_string(), "123/4");
assert_eq!(&Rational::from(123) >> -2i16, 492);
assert_eq!((&Rational::from_signeds(22, 7) >> 2i16).to_string(), "11/14");
assert_eq!((&Rational::from_signeds(7, 22) >> -2i16).to_string(), "14/11");
shr_assign
extern crate malachite_base;
use malachite_base::num::basic::traits::Zero;
use malachite_q::Rational;
let mut x = Rational::ZERO;
x >>= 10u8;
assert_eq!(x, 0);
let mut x = Rational::from(123);
x >>= 2u16;
assert_eq!(x.to_string(), "123/4");
let mut x = Rational::from_signeds(22, 7);
x >>= 2u16;
assert_eq!(x.to_string(), "11/14");
let mut x = Rational::ZERO;
x >>= 10i8;
assert_eq!(x, 0);
let mut x = Rational::from(123);
x >>= 2i16;
assert_eq!(x.to_string(), "123/4");
let mut x = Rational::from(123);
x >>= -2i16;
assert_eq!(x, 492);
let mut x = Rational::from_signeds(22, 7);
x >>= 2i16;
assert_eq!(x.to_string(), "11/14");
let mut x = Rational::from_signeds(7, 22);
x >>= -2i16;
assert_eq!(x.to_string(), "14/11");