Struct rug::Rational
[−]
[src]
pub struct Rational { /* fields omitted */ }
An arbitrary-precision rational number.
A rational number is made up of a numerator
Integer
and denominator
Integer
. After rational number functions,
the number is always in canonical form, that is, the denominator
is always greater than zero, and there are no common factors. Zero
is stored as 0/1.
Examples
use rug::Rational; let r = Rational::from((-12, 15)); let recip = Rational::from(r.recip_ref()); assert_eq!(recip, (-5, 4)); assert_eq!(recip.to_f32(), -1.25); // The numerator and denominator are stored in canonical form. let (num, den) = r.into_numer_denom(); assert_eq!(num, -4); assert_eq!(den, 5);
Methods
impl Rational
[src]
fn new() -> Rational
[src]
Constructs a new arbitrary-precision rational number with value 0.
Examples
use rug::Rational; let r = Rational::new(); assert_eq!(r, 0);
fn from_f32(val: f32) -> Option<Rational>
[src]
Creates a Rational
from an f32
if it is finite, losing no
precision.
Examples
use rug::Rational; use std::f32; let r = Rational::from_f32(-17125e-3).unwrap(); assert_eq!(r, "-17125/1000".parse::<Rational>().unwrap()); let inf = Rational::from_f32(f32::INFINITY); assert!(inf.is_none());
fn from_f64(val: f64) -> Option<Rational>
[src]
Creates a Rational
from an f64
if it is finite, losing no
precision.
Examples
use rug::Rational; use std::f64; let r = Rational::from_f64(-17125e-3).unwrap(); assert_eq!(r, "-17125/1000".parse::<Rational>().unwrap()); let inf = Rational::from_f64(f64::INFINITY); assert!(inf.is_none());
fn from_str_radix(src: &str, radix: i32) -> Result<Rational, ParseRationalError>
[src]
Parses a Rational
number.
Examples
use rug::Rational; let r1 = Rational::from_str_radix("ff/a", 16).unwrap(); assert_eq!(r1, (255, 10)); let r2 = Rational::from_str_radix("+ff0/a0", 16).unwrap(); assert_eq!(r2, (0xff0, 0xa0)); assert_eq!(*r2.numer(), 51); assert_eq!(*r2.denom(), 2);
Panics
Panics if radix
is less than 2 or greater than 36.
fn valid_str_radix(
src: &str,
radix: i32
) -> Result<ValidRational, ParseRationalError>
[src]
src: &str,
radix: i32
) -> Result<ValidRational, ParseRationalError>
Checks if a Rational
number can be parsed.
If this method does not return an error, neither will any
other function that parses a Rational
number. If this method
returns an error, the other functions will return the same
error.
The string must contain a numerator, and may contain a
denominator; the numerator and denominator are separated with
a '/'
. The numerator can start with an optional minus or
plus sign.
Whitespace is not allowed anywhere in the string, including in
the beginning and end and around the '/'
.
Examples
use rug::Rational; let valid1 = Rational::valid_str_radix("12/23", 4); let r1 = Rational::from(valid1.unwrap()); assert_eq!(r1, (2 + 4 * 1, 3 + 4 * 2)); let valid2 = Rational::valid_str_radix("12/yz", 36); let r2 = Rational::from(valid2.unwrap()); assert_eq!(r2, (2 + 36 * 1, 35 + 36 * 34)); let invalid = Rational::valid_str_radix("12 / 23", 4); let invalid_f = Rational::from_str_radix("12 / 23", 4); assert_eq!(invalid.unwrap_err(), invalid_f.unwrap_err());
Panics
Panics if radix
is less than 2 or greater than 36.
fn to_integer(&self) -> Integer
[src]
Converts to an Integer
, rounding
towards zero.
Examples
use rug::Rational; let pos = Rational::from((139, 10)); let posi = pos.to_integer(); assert_eq!(posi, 13); let neg = Rational::from((-139, 10)); let negi = neg.to_integer(); assert_eq!(negi, -13);
fn copy_to_integer(&self, i: &mut Integer)
[src]
Converts to an Integer
inside i
,
rounding towards zero.
Examples
use rug::{Integer, Rational}; let mut i = Integer::new(); assert_eq!(i, 0); let pos = Rational::from((139, 10)); pos.copy_to_integer(&mut i); assert_eq!(i, 13); let neg = Rational::from((-139, 10)); neg.copy_to_integer(&mut i); assert_eq!(i, -13);
fn to_f32(&self) -> f32
[src]
Converts to an f32
, rounding towards zero.
Examples
use rug::Rational; use rug::rational::SmallRational; use std::f32; let min = Rational::from_f32(f32::MIN).unwrap(); let minus_small = min - &*SmallRational::from((7, 2)); // minus_small is truncated to f32::MIN assert_eq!(minus_small.to_f32(), f32::MIN); let times_three_two = minus_small * &*SmallRational::from((3, 2)); // times_three_two is too small assert_eq!(times_three_two.to_f32(), f32::NEG_INFINITY);
fn to_f64(&self) -> f64
[src]
Converts to an f64
, rounding towards zero.
Examples
use rug::Rational; use rug::rational::SmallRational; use std::f64; // An `f64` has 53 bits of precision. let exact = 0x1f_1234_5678_9aff_u64; let den = 0x1000_u64; let r = Rational::from((exact, den)); assert_eq!(r.to_f64(), exact as f64 / den as f64); // large has 56 ones let large = 0xff_1234_5678_9aff_u64; // trunc has 53 ones followed by 3 zeros let trunc = 0xff_1234_5678_9af8_u64; let j = Rational::from((large, den)); assert_eq!(j.to_f64(), trunc as f64 / den as f64); let max = Rational::from_f64(f64::MAX).unwrap(); let plus_small = max + &*SmallRational::from((7, 2)); // plus_small is truncated to f64::MAX assert_eq!(plus_small.to_f64(), f64::MAX); let times_three_two = plus_small * &*SmallRational::from((3, 2)); // times_three_two is too large assert_eq!(times_three_two.to_f64(), f64::INFINITY);
fn to_string_radix(&self, radix: i32) -> String
[src]
Returns a string representation for the specified radix
.
Examples
use rug::Rational; let r1 = Rational::from(0); assert_eq!(r1.to_string_radix(10), "0"); let r2 = Rational::from((15, 5)); assert_eq!(r2.to_string_radix(10), "3"); let r3 = Rational::from((10, -6)); assert_eq!(r3.to_string_radix(10), "-5/3"); assert_eq!(r3.to_string_radix(5), "-10/3");
Panics
Panics if radix
is less than 2 or greater than 36.
fn assign_f32(&mut self, val: f32) -> Result<(), ()>
[src]
Assigns from an f32
if it is finite, losing no precision.
Examples
use rug::Rational; use std::f32; let mut r = Rational::new(); let ret = r.assign_f32(12.75); assert!(ret.is_ok()); assert_eq!(r, (1275, 100)); let ret = r.assign_f32(f32::NAN); assert!(ret.is_err()); assert_eq!(r, (1275, 100));
fn assign_f64(&mut self, val: f64) -> Result<(), ()>
[src]
Assigns from an f64
if it is finite, losing no precision.
Examples
use rug::Rational; let mut r = Rational::new(); let ret = r.assign_f64(12.75); assert!(ret.is_ok()); assert_eq!(r, (1275, 100)); let ret = r.assign_f64(1.0 / 0.0); assert!(ret.is_err()); assert_eq!(r, (1275, 100));
fn assign_str(&mut self, src: &str) -> Result<(), ParseRationalError>
[src]
Parses a Rational
number from a string.
Examples
use rug::Rational; let mut r = Rational::new(); let ret = r.assign_str("1/0"); assert!(ret.is_err()); r.assign_str("-24/2").unwrap(); assert_eq!(*r.numer(), -12); assert_eq!(*r.denom(), 1);
fn assign_str_radix(
&mut self,
src: &str,
radix: i32
) -> Result<(), ParseRationalError>
[src]
&mut self,
src: &str,
radix: i32
) -> Result<(), ParseRationalError>
Parses a Rational
number from a string with the specified
radix.
Examples
use rug::Rational; let mut r = Rational::new(); r.assign_str_radix("ff/a", 16).unwrap(); assert_eq!(r, (255, 10)); r.assign_str_radix("+ff0/a0", 16).unwrap(); assert_eq!(r, (255, 10));
Panics
Panics if radix
is less than 2 or greater than 36.
fn numer(&self) -> &Integer
[src]
Borrows the numerator as an Integer
.
Examples
use rug::Rational; let r = Rational::from((12, -20)); // r will be canonicalized to -3 / 5 assert_eq!(*r.numer(), -3)
fn denom(&self) -> &Integer
[src]
Borrows the denominator as an
Integer
.
Examples
use rug::Rational; let r = Rational::from((12, -20)); // r will be canonicalized to -3 / 5 assert_eq!(*r.denom(), 5);
fn as_numer_denom(&self) -> (&Integer, &Integer)
[src]
Borrows the numerator and denominator as
Integer
values.
Examples
use rug::Rational; let r = Rational::from((12, -20)); // r will be canonicalized to -3 / 5 let (num, den) = r.as_numer_denom(); assert_eq!(*num, -3); assert_eq!(*den, 5);
fn as_mut_numer_denom(&mut self) -> MutNumerDenom
[src]
Borrows the numerator and denominator mutably. The number is canonicalized when the borrow ends. The denominator must not be zero when the borrow ends.
Examples
use rug::Rational; let mut r = Rational::from((3, 5)); { let mut num_den = r.as_mut_numer_denom(); // change r from 3/5 to 4/8, which is equal to 1/2 *num_den.num() += 1; *num_den.den() += 3; // borrow ends here } let num_den = r.as_numer_denom(); assert_eq!(*num_den.0, 1); assert_eq!(*num_den.1, 2);
If the mutable value is leaked, the denominator is lost when the borrow ends.
use rug::Rational; use std::mem; let mut r = Rational::from((3, 5)); { let mut num_den = r.as_mut_numer_denom(); // try change r from 3/5 to 4/8 *num_den.num() += 1; *num_den.den() += 3; // forget num_den, so no canonicalization takes place mem::forget(num_den) // borrow ends here, but nothing happens } // because of the leak, 4/8 has become 4/1 let num_den = r.as_numer_denom(); assert_eq!(*num_den.0, 4); assert_eq!(*num_den.1, 1);
Panics
Panics if the denominator is zero when the borrow ends.
unsafe fn as_mut_numer_denom_no_canonicalization(
&mut self
) -> (&mut Integer, &mut Integer)
[src]
&mut self
) -> (&mut Integer, &mut Integer)
Borrows the numerator and denominator mutably without canonicalizing aftwerwards.
Safety
This function is unsafe because it does not canonicalize the
rational number when the borrow ends. The rest of the library
assumes that Rational
structures keep their numerators and
denominators canonicalized.
Examples
use rug::Rational; let mut r = Rational::from((3, 5)); { let (num, den) = unsafe { r.as_mut_numer_denom_no_canonicalization() }; // Add one to r by adding den to num. Since num and den // are relatively prime, r remains canonicalized. *num += &*den; } assert_eq!(r, (8, 5));
fn into_numer_denom(self) -> (Integer, Integer)
[src]
Converts into numerator and denominator integers.
This function reuses the allocated memory and does not allocate any new memory.
Examples
use rug::Rational; let r = Rational::from((12, -20)); // r will be canonicalized to -3 / 5 let (num, den) = r.into_numer_denom(); assert_eq!(num, -3); assert_eq!(den, 5);
fn as_neg(&self) -> BorrowRational
[src]
Borrows a negated copy of the Rational
number.
The returned object implements Deref
with a Rational
target. This method performs a shallow copy and negates it,
and negation does not change the allocated data.
Examples
use rug::Rational; let r = Rational::from((7, 11)); let neg_r = r.as_neg(); assert_eq!(*neg_r, (-7, 11)); // methods taking &self can be used on the returned object let reneg_r = neg_r.as_neg(); assert_eq!(*reneg_r, (7, 11)); assert_eq!(*reneg_r, r);
fn as_abs(&self) -> BorrowRational
[src]
Borrows an absolute copy of the Rational
number.
The returned object implements Deref
with a Rational
target. This method performs a shallow copy and possibly
negates it, and negation does not change the allocated data.
Examples
use rug::Rational; let r = Rational::from((-7, 11)); let abs_r = r.as_abs(); assert_eq!(*abs_r, (7, 11)); // methods taking &self can be used on the returned object let reabs_r = abs_r.as_abs(); assert_eq!(*reabs_r, (7, 11)); assert_eq!(*reabs_r, *abs_r);
fn as_recip(&self) -> BorrowRational
[src]
Borrows a reciprocal copy of the Rational
number.
The returned object implements Deref
with a Rational
target. This method performs some shallow copying, swapping
numerator and denominator and making sure the sign is in the
numerator.
Examples
use rug::Rational; let r = Rational::from((-7, 11)); let recip_r = r.as_recip(); assert_eq!(*recip_r, (-11, 7)); // methods taking &self can be used on the returned object let rerecip_r = recip_r.as_recip(); assert_eq!(*rerecip_r, (-7, 11)); assert_eq!(*rerecip_r, r);
Panics
Panics if the value is zero.
fn sign(&self) -> Ordering
[src]
Returns the same result as self.cmp(&0)
, but is faster.
Examples
use rug::Rational; use std::cmp::Ordering; assert_eq!(Rational::from((-5, 7)).sign(), Ordering::Less); assert_eq!(Rational::from(0).sign(), Ordering::Equal); assert_eq!(Rational::from((5, 7)).sign(), Ordering::Greater);
fn abs(self) -> Rational
[src]
Computes the absolute value.
Examples
use rug::Rational; let r = Rational::from((-100, 17)); let abs = r.abs(); assert_eq!(abs, (100, 17));
fn abs_mut(&mut self)
[src]
Computes the absolute value.
Examples
use rug::Rational; let mut r = Rational::from((-100, 17)); r.abs_mut(); assert_eq!(r, (100, 17));
fn abs_ref(&self) -> AbsRef
[src]
Computes the absolute value.
Examples
use rug::Rational; let r = Rational::from((-100, 17)); let rr = r.abs_ref(); let abs = Rational::from(rr); assert_eq!(abs, (100, 17));
fn recip(self) -> Rational
[src]
Computes the reciprocal.
Examples
use rug::Rational; let r = Rational::from((-100, 17)); let recip = r.recip(); assert_eq!(recip, (-17, 100));
Panics
Panics if the value is zero.
fn recip_mut(&mut self)
[src]
Computes the reciprocal.
Examples
use rug::Rational; let mut r = Rational::from((-100, 17)); r.recip_mut(); assert_eq!(r, (-17, 100));
Panics
Panics if the value is zero.
fn recip_ref(&self) -> RecipRef
[src]
Computes the reciprocal.
Examples
use rug::Rational; let r = Rational::from((-100, 17)); let rr = r.recip_ref(); let recip = Rational::from(rr); assert_eq!(recip, (-17, 100));
fn ceil(self) -> Integer
[src]
Rounds the number upwards (towards plus infinity) and returns
it as an Integer
.
Examples
use rug::Rational; // -3.7 let r1 = Rational::from((-37, 10)); let i1 = r1.ceil(); assert_eq!(i1, -3); // 3.3 let r2 = Rational::from((33, 10)); let i2 = r2.ceil(); assert_eq!(i2, 4);
fn ceil_mut(&mut self)
[src]
Rounds the number upwards (towards plus infinity).
Examples
use rug::{Assign, Rational}; // -3.7 let mut r = Rational::from((-37, 10)); r.ceil_mut(); assert_eq!(r, -3); // 3.3 r.assign((33, 10)); r.ceil_mut(); assert_eq!(r, 4);
fn ceil_ref(&self) -> CeilRef
[src]
Rounds the number upwards (towards plus infinity).
Examples
use rug::{Assign, Integer, Rational}; let mut ceil = Integer::new(); // -3.7 let r1 = Rational::from((-37, 10)); ceil.assign(r1.ceil_ref()); assert_eq!(ceil, -3); // 3.3 let r2 = Rational::from((33, 10)); ceil.assign(r2.ceil_ref()); assert_eq!(ceil, 4);
fn floor(self) -> Integer
[src]
Rounds the number downwards (towards minus infinity) and
returns it as an Integer
.
Examples
use rug::Rational; // -3.7 let r1 = Rational::from((-37, 10)); let i1 = r1.floor(); assert_eq!(i1, -4); // 3.3 let r2 = Rational::from((33, 10)); let i2 = r2.floor(); assert_eq!(i2, 3);
fn floor_mut(&mut self)
[src]
Rounds the number downwards (towards minus infinity).
use rug::{Assign, Rational}; // -3.7 let mut r = Rational::from((-37, 10)); r.floor_mut(); assert_eq!(r, -4); // 3.3 r.assign((33, 10)); r.floor_mut(); assert_eq!(r, 3);
fn floor_ref(&self) -> FloorRef
[src]
Rounds the number downwards (towards minus infinity).
Examples
use rug::{Assign, Integer, Rational}; let mut floor = Integer::new(); // -3.7 let r1 = Rational::from((-37, 10)); floor.assign(r1.floor_ref()); assert_eq!(floor, -4); // 3.3 let r2 = Rational::from((33, 10)); floor.assign(r2.floor_ref()); assert_eq!(floor, 3);
fn round(self) -> Integer
[src]
Rounds the number to the nearest integer and returns it as an
Integer
.
When the number lies exactly between two integers, it is rounded away from zero.
Examples
use rug::Rational; // -3.5 let r1 = Rational::from((-35, 10)); let i1 = r1.round(); assert_eq!(i1, -4); // 3.7 let r2 = Rational::from((37, 10)); let i2 = r2.round(); assert_eq!(i2, 4);
fn round_mut(&mut self)
[src]
Rounds the number to the nearest integer.
When the number lies exactly between two integers, it is rounded away from zero.
Examples
use rug::{Assign, Rational}; // -3.5 let mut r = Rational::from((-35, 10)); r.round_mut(); assert_eq!(r, -4); // 3.7 r.assign((37, 10)); r.round_mut(); assert_eq!(r, 4);
fn round_ref(&self) -> RoundRef
[src]
Rounds the number to the nearest integer.
When the number lies exactly between two integers, it is rounded away from zero.
Examples
use rug::{Assign, Integer, Rational}; let mut round = Integer::new(); // -3.5 let r1 = Rational::from((-35, 10)); round.assign(r1.round_ref()); assert_eq!(round, -4); // 3.7 let r2 = Rational::from((37, 10)); round.assign(r2.round_ref()); assert_eq!(round, 4);
fn trunc(self) -> Integer
[src]
Rounds the number towards zero and returns it as an
Integer
.
Examples
use rug::Rational; // -3.7 let r1 = Rational::from((-37, 10)); let i1 = r1.trunc(); assert_eq!(i1, -3); // 3.3 let r2 = Rational::from((33, 10)); let i2 = r2.trunc(); assert_eq!(i2, 3);
fn trunc_mut(&mut self)
[src]
Rounds the number towards zero.
Examples
use rug::{Assign, Rational}; // -3.7 let mut r = Rational::from((-37, 10)); r.trunc_mut(); assert_eq!(r, -3); // 3.3 r.assign((33, 10)); r.trunc_mut(); assert_eq!(r, 3);
fn trunc_ref(&self) -> TruncRef
[src]
Rounds the number towards zero.
Examples
use rug::{Assign, Integer, Rational}; let mut trunc = Integer::new(); // -3.7 let r1 = Rational::from((-37, 10)); trunc.assign(r1.trunc_ref()); assert_eq!(trunc, -3); // 3.3 let r2 = Rational::from((33, 10)); trunc.assign(r2.trunc_ref()); assert_eq!(trunc, 3);
fn fract(self) -> Rational
[src]
Computes the fractional part of the number.
Examples
use rug::Rational; // -100/17 = -5 15/17 let r = Rational::from((-100, 17)); let fract = r.fract(); assert_eq!(fract, (-15, 17));
fn fract_mut(&mut self)
[src]
Computes the fractional part of the number.
Examples
use rug::Rational; // -100/17 = -5 15/17 let mut r = Rational::from((-100, 17)); r.fract_mut(); assert_eq!(r, (-15, 17));
fn fract_ref(&self) -> FractRef
[src]
Computes the fractional part of the number.
Examples
use rug::Rational; let r = Rational::from((-100, 17)); let rr = r.fract_ref(); let fract = Rational::from(rr); assert_eq!(fract, (-15, 17));
fn fract_trunc(self, trunc: Integer) -> (Rational, Integer)
[src]
Computes the fractional and truncated parts of the number.
The initial value of trunc
is ignored.
Examples
use rug::{Integer, Rational}; // -100/17 = -5 15/17 let r = Rational::from((-100, 17)); let (fract, trunc) = r.fract_trunc(Integer::new()); assert_eq!(fract, (-15, 17)); assert_eq!(trunc, -5);
fn fract_trunc_mut(&mut self, trunc: &mut Integer)
[src]
Computes the fractional and truncated parts of the number.
The initial value of trunc
is ignored.
Examples
use rug::{Integer, Rational}; // -100/17 = -5 15/17 let mut r = Rational::from((-100, 17)); let mut whole = Integer::new(); r.fract_trunc_mut(&mut whole); assert_eq!(r, (-15, 17)); assert_eq!(whole, -5);
fn fract_trunc_ref(&self) -> FractTruncRef
[src]
Computes the fractional and truncated parts of the number.
Examples
use rug::{Assign, Integer, Rational}; // -100/17 = -5 15/17 let r = Rational::from((-100, 17)); let r_ref = r.fract_trunc_ref(); let (mut fract, mut trunc) = (Rational::new(), Integer::new()); (&mut fract, &mut trunc).assign(r_ref); assert_eq!(fract, (-15, 17)); assert_eq!(trunc, -5);
Trait Implementations
impl Default for Rational
[src]
impl Clone for Rational
[src]
fn clone(&self) -> Rational
[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Rational)
[src]
Performs copy-assignment from source
. Read more
impl Drop for Rational
[src]
impl Hash for Rational
[src]
fn hash<H: Hasher>(&self, state: &mut H)
[src]
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<'a> From<&'a Rational> for Rational
[src]
impl From<Integer> for Rational
[src]
impl<'a> From<&'a Integer> for Rational
[src]
impl From<(Integer, Integer)> for Rational
[src]
impl<'a> From<(&'a Integer, &'a Integer)> for Rational
[src]
impl From<i32> for Rational
[src]
impl From<i64> for Rational
[src]
impl From<u32> for Rational
[src]
impl From<u64> for Rational
[src]
impl From<(i32, i32)> for Rational
[src]
impl From<(i64, i64)> for Rational
[src]
impl From<(i32, u32)> for Rational
[src]
impl From<(i64, u64)> for Rational
[src]
impl From<(u32, i32)> for Rational
[src]
impl From<(u64, i64)> for Rational
[src]
impl From<(u32, u32)> for Rational
[src]
impl From<(u64, u64)> for Rational
[src]
impl FromStr for Rational
[src]
type Err = ParseRationalError
The associated error which can be returned from parsing.
fn from_str(src: &str) -> Result<Rational, ParseRationalError>
[src]
Parses a string s
to return a value of this type. Read more
impl Display for Rational
[src]
fn fmt(&self, f: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
impl Debug for Rational
[src]
impl Binary for Rational
[src]
impl Octal for Rational
[src]
impl LowerHex for Rational
[src]
impl UpperHex for Rational
[src]
impl Assign for Rational
[src]
impl<'a> Assign<&'a Rational> for Rational
[src]
impl<'a> Assign<&'a Integer> for Rational
[src]
impl Assign<Integer> for Rational
[src]
impl Assign<i32> for Rational
[src]
impl Assign<i64> for Rational
[src]
impl Assign<u32> for Rational
[src]
impl Assign<u64> for Rational
[src]
impl<T, U> Assign<(T, U)> for Rational where
Integer: Assign<T>,
Integer: Assign<U>,
[src]
Integer: Assign<T>,
Integer: Assign<U>,
impl<'a> From<AbsRef<'a>> for Rational
[src]
impl<'a> Assign<AbsRef<'a>> for Rational
[src]
impl<'a> From<RecipRef<'a>> for Rational
[src]
impl<'a> Assign<RecipRef<'a>> for Rational
[src]
impl<'a> From<FractRef<'a>> for Rational
[src]
impl<'a> Assign<FractRef<'a>> for Rational
[src]
impl Neg for Rational
[src]
type Output = Rational
The resulting type after applying the -
operator.
fn neg(self) -> Rational
[src]
Performs the unary -
operation.
impl NegAssign for Rational
[src]
fn neg_assign(&mut self)
[src]
Peforms the negation. Read more
impl<'a> Neg for &'a Rational
[src]
type Output = NegRef<'a>
The resulting type after applying the -
operator.
fn neg(self) -> NegRef<'a>
[src]
Performs the unary -
operation.
impl<'a> From<NegRef<'a>> for Rational
[src]
impl<'a> Assign<NegRef<'a>> for Rational
[src]
impl Add<Rational> for Rational
[src]
type Output = Rational
The resulting type after applying the +
operator.
fn add(self, rhs: Rational) -> Rational
[src]
Performs the +
operation.
impl<'a> Add<&'a Rational> for Rational
[src]
type Output = Rational
The resulting type after applying the +
operator.
fn add(self, rhs: &'a Rational) -> Rational
[src]
Performs the +
operation.
impl<'a> Add<Rational> for &'a Rational
[src]
type Output = Rational
The resulting type after applying the +
operator.
fn add(self, rhs: Rational) -> Rational
[src]
Performs the +
operation.
impl AddAssign<Rational> for Rational
[src]
fn add_assign(&mut self, rhs: Rational)
[src]
Performs the +=
operation.
impl<'a> AddAssign<&'a Rational> for Rational
[src]
fn add_assign(&mut self, rhs: &'a Rational)
[src]
Performs the +=
operation.
impl AddFrom<Rational> for Rational
[src]
impl<'a> AddFrom<&'a Rational> for Rational
[src]
impl<'a> Add<&'a Rational> for &'a Rational
[src]
type Output = AddRef<'a>
The resulting type after applying the +
operator.
fn add(self, rhs: &'a Rational) -> AddRef<'a>
[src]
Performs the +
operation.
impl<'a> From<AddRef<'a>> for Rational
[src]
impl<'a> Assign<AddRef<'a>> for Rational
[src]
impl Sub<Rational> for Rational
[src]
type Output = Rational
The resulting type after applying the -
operator.
fn sub(self, rhs: Rational) -> Rational
[src]
Performs the -
operation.
impl<'a> Sub<&'a Rational> for Rational
[src]
type Output = Rational
The resulting type after applying the -
operator.
fn sub(self, rhs: &'a Rational) -> Rational
[src]
Performs the -
operation.
impl<'a> Sub<Rational> for &'a Rational
[src]
type Output = Rational
The resulting type after applying the -
operator.
fn sub(self, rhs: Rational) -> Rational
[src]
Performs the -
operation.
impl SubAssign<Rational> for Rational
[src]
fn sub_assign(&mut self, rhs: Rational)
[src]
Performs the -=
operation.
impl<'a> SubAssign<&'a Rational> for Rational
[src]
fn sub_assign(&mut self, rhs: &'a Rational)
[src]
Performs the -=
operation.
impl SubFrom<Rational> for Rational
[src]
impl<'a> SubFrom<&'a Rational> for Rational
[src]
impl<'a> Sub<&'a Rational> for &'a Rational
[src]
type Output = SubRef<'a>
The resulting type after applying the -
operator.
fn sub(self, rhs: &'a Rational) -> SubRef<'a>
[src]
Performs the -
operation.
impl<'a> From<SubRef<'a>> for Rational
[src]
impl<'a> Assign<SubRef<'a>> for Rational
[src]
impl Mul<Rational> for Rational
[src]
type Output = Rational
The resulting type after applying the *
operator.
fn mul(self, rhs: Rational) -> Rational
[src]
Performs the *
operation.
impl<'a> Mul<&'a Rational> for Rational
[src]
type Output = Rational
The resulting type after applying the *
operator.
fn mul(self, rhs: &'a Rational) -> Rational
[src]
Performs the *
operation.
impl<'a> Mul<Rational> for &'a Rational
[src]
type Output = Rational
The resulting type after applying the *
operator.
fn mul(self, rhs: Rational) -> Rational
[src]
Performs the *
operation.
impl MulAssign<Rational> for Rational
[src]
fn mul_assign(&mut self, rhs: Rational)
[src]
Performs the *=
operation.
impl<'a> MulAssign<&'a Rational> for Rational
[src]
fn mul_assign(&mut self, rhs: &'a Rational)
[src]
Performs the *=
operation.
impl MulFrom<Rational> for Rational
[src]
impl<'a> MulFrom<&'a Rational> for Rational
[src]
impl<'a> Mul<&'a Rational> for &'a Rational
[src]
type Output = MulRef<'a>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'a Rational) -> MulRef<'a>
[src]
Performs the *
operation.
impl<'a> From<MulRef<'a>> for Rational
[src]
impl<'a> Assign<MulRef<'a>> for Rational
[src]
impl Div<Rational> for Rational
[src]
type Output = Rational
The resulting type after applying the /
operator.
fn div(self, rhs: Rational) -> Rational
[src]
Performs the /
operation.
impl<'a> Div<&'a Rational> for Rational
[src]
type Output = Rational
The resulting type after applying the /
operator.
fn div(self, rhs: &'a Rational) -> Rational
[src]
Performs the /
operation.
impl<'a> Div<Rational> for &'a Rational
[src]
type Output = Rational
The resulting type after applying the /
operator.
fn div(self, rhs: Rational) -> Rational
[src]
Performs the /
operation.
impl DivAssign<Rational> for Rational
[src]
fn div_assign(&mut self, rhs: Rational)
[src]
Performs the /=
operation.
impl<'a> DivAssign<&'a Rational> for Rational
[src]
fn div_assign(&mut self, rhs: &'a Rational)
[src]
Performs the /=
operation.
impl DivFrom<Rational> for Rational
[src]
impl<'a> DivFrom<&'a Rational> for Rational
[src]
impl<'a> Div<&'a Rational> for &'a Rational
[src]
type Output = DivRef<'a>
The resulting type after applying the /
operator.
fn div(self, rhs: &'a Rational) -> DivRef<'a>
[src]
Performs the /
operation.
impl<'a> From<DivRef<'a>> for Rational
[src]
impl<'a> Assign<DivRef<'a>> for Rational
[src]
impl Shl<i32> for Rational
[src]
type Output = Rational
The resulting type after applying the <<
operator.
fn shl(self, rhs: i32) -> Rational
[src]
Performs the <<
operation.
impl ShlAssign<i32> for Rational
[src]
fn shl_assign(&mut self, rhs: i32)
[src]
Performs the <<=
operation.
impl<'a> Shl<i32> for &'a Rational
[src]
type Output = ShlRefI32<'a>
The resulting type after applying the <<
operator.
fn shl(self, rhs: i32) -> ShlRefI32<'a>
[src]
Performs the <<
operation.
impl<'a> From<ShlRefI32<'a>> for Rational
[src]
impl<'a> Assign<ShlRefI32<'a>> for Rational
[src]
impl Shr<i32> for Rational
[src]
type Output = Rational
The resulting type after applying the >>
operator.
fn shr(self, rhs: i32) -> Rational
[src]
Performs the >>
operation.
impl ShrAssign<i32> for Rational
[src]
fn shr_assign(&mut self, rhs: i32)
[src]
Performs the >>=
operation.
impl<'a> Shr<i32> for &'a Rational
[src]
type Output = ShrRefI32<'a>
The resulting type after applying the >>
operator.
fn shr(self, rhs: i32) -> ShrRefI32<'a>
[src]
Performs the >>
operation.
impl<'a> From<ShrRefI32<'a>> for Rational
[src]
impl<'a> Assign<ShrRefI32<'a>> for Rational
[src]
impl Pow<i32> for Rational
[src]
type Output = Rational
The resulting type after the power operation.
fn pow(self, rhs: i32) -> Rational
[src]
Performs the power operation. Read more
impl PowAssign<i32> for Rational
[src]
fn pow_assign(&mut self, rhs: i32)
[src]
Peforms the power operation. Read more
impl<'a> Pow<i32> for &'a Rational
[src]
type Output = PowRefI32<'a>
The resulting type after the power operation.
fn pow(self, rhs: i32) -> PowRefI32<'a>
[src]
Performs the power operation. Read more
impl<'a> From<PowRefI32<'a>> for Rational
[src]
impl<'a> Assign<PowRefI32<'a>> for Rational
[src]
impl Shl<u32> for Rational
[src]
type Output = Rational
The resulting type after applying the <<
operator.
fn shl(self, rhs: u32) -> Rational
[src]
Performs the <<
operation.
impl ShlAssign<u32> for Rational
[src]
fn shl_assign(&mut self, rhs: u32)
[src]
Performs the <<=
operation.
impl<'a> Shl<u32> for &'a Rational
[src]
type Output = ShlRefU32<'a>
The resulting type after applying the <<
operator.
fn shl(self, rhs: u32) -> ShlRefU32<'a>
[src]
Performs the <<
operation.
impl<'a> From<ShlRefU32<'a>> for Rational
[src]
impl<'a> Assign<ShlRefU32<'a>> for Rational
[src]
impl Shr<u32> for Rational
[src]
type Output = Rational
The resulting type after applying the >>
operator.
fn shr(self, rhs: u32) -> Rational
[src]
Performs the >>
operation.
impl ShrAssign<u32> for Rational
[src]
fn shr_assign(&mut self, rhs: u32)
[src]
Performs the >>=
operation.
impl<'a> Shr<u32> for &'a Rational
[src]
type Output = ShrRefU32<'a>
The resulting type after applying the >>
operator.
fn shr(self, rhs: u32) -> ShrRefU32<'a>
[src]
Performs the >>
operation.
impl<'a> From<ShrRefU32<'a>> for Rational
[src]
impl<'a> Assign<ShrRefU32<'a>> for Rational
[src]
impl Pow<u32> for Rational
[src]
type Output = Rational
The resulting type after the power operation.
fn pow(self, rhs: u32) -> Rational
[src]
Performs the power operation. Read more
impl PowAssign<u32> for Rational
[src]
fn pow_assign(&mut self, rhs: u32)
[src]
Peforms the power operation. Read more
impl<'a> Pow<u32> for &'a Rational
[src]
type Output = PowRefU32<'a>
The resulting type after the power operation.
fn pow(self, rhs: u32) -> PowRefU32<'a>
[src]
Performs the power operation. Read more
impl<'a> From<PowRefU32<'a>> for Rational
[src]
impl<'a> Assign<PowRefU32<'a>> for Rational
[src]
impl Eq for Rational
[src]
impl Ord for Rational
[src]
fn cmp(&self, other: &Rational) -> Ordering
[src]
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.22.0[src]
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.22.0[src]
Compares and returns the minimum of two values. Read more
impl PartialEq for Rational
[src]
fn eq(&self, other: &Rational) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd for Rational
[src]
fn partial_cmp(&self, other: &Rational) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<Integer> for Rational
[src]
fn eq(&self, other: &Integer) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<Integer> for Rational
[src]
fn partial_cmp(&self, other: &Integer) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<i32> for Rational
[src]
fn eq(&self, other: &i32) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<i32> for Rational
[src]
fn partial_cmp(&self, other: &i32) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<u32> for Rational
[src]
fn eq(&self, other: &u32) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<u32> for Rational
[src]
fn partial_cmp(&self, other: &u32) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<i64> for Rational
[src]
fn eq(&self, other: &i64) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<i64> for Rational
[src]
fn partial_cmp(&self, other: &i64) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<u64> for Rational
[src]
fn eq(&self, other: &u64) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<u64> for Rational
[src]
fn partial_cmp(&self, other: &u64) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<(i32, i32)> for Rational
[src]
fn eq(&self, other: &(i32, i32)) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<(i32, i32)> for Rational
[src]
fn partial_cmp(&self, other: &(i32, i32)) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<(i64, i64)> for Rational
[src]
fn eq(&self, other: &(i64, i64)) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<(i64, i64)> for Rational
[src]
fn partial_cmp(&self, other: &(i64, i64)) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<(i32, u32)> for Rational
[src]
fn eq(&self, other: &(i32, u32)) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<(i32, u32)> for Rational
[src]
fn partial_cmp(&self, other: &(i32, u32)) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<(i64, u64)> for Rational
[src]
fn eq(&self, other: &(i64, u64)) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<(i64, u64)> for Rational
[src]
fn partial_cmp(&self, other: &(i64, u64)) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<(u32, i32)> for Rational
[src]
fn eq(&self, other: &(u32, i32)) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<(u32, i32)> for Rational
[src]
fn partial_cmp(&self, other: &(u32, i32)) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<(u64, i64)> for Rational
[src]
fn eq(&self, other: &(u64, i64)) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<(u64, i64)> for Rational
[src]
fn partial_cmp(&self, other: &(u64, i64)) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<(u32, u32)> for Rational
[src]
fn eq(&self, other: &(u32, u32)) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<(u32, u32)> for Rational
[src]
fn partial_cmp(&self, other: &(u32, u32)) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl PartialEq<(u64, u64)> for Rational
[src]
fn eq(&self, other: &(u64, u64)) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<(u64, u64)> for Rational
[src]
fn partial_cmp(&self, other: &(u64, u64)) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl Sum for Rational
[src]
fn sum<I>(iter: I) -> Rational where
I: Iterator<Item = Rational>,
[src]
I: Iterator<Item = Rational>,
Method which takes an iterator and generates Self
from the elements by "summing up" the items. Read more
impl<'a> Sum<&'a Rational> for Rational
[src]
fn sum<I>(iter: I) -> Rational where
I: Iterator<Item = &'a Rational>,
[src]
I: Iterator<Item = &'a Rational>,
Method which takes an iterator and generates Self
from the elements by "summing up" the items. Read more
impl Product for Rational
[src]
fn product<I>(iter: I) -> Rational where
I: Iterator<Item = Rational>,
[src]
I: Iterator<Item = Rational>,
Method which takes an iterator and generates Self
from the elements by multiplying the items. Read more
impl<'a> Product<&'a Rational> for Rational
[src]
fn product<I>(iter: I) -> Rational where
I: Iterator<Item = &'a Rational>,
[src]
I: Iterator<Item = &'a Rational>,
Method which takes an iterator and generates Self
from the elements by multiplying the items. Read more
impl<'a> From<ValidRational<'a>> for Rational
[src]
fn from(t: ValidRational<'a>) -> Rational
[src]
Performs the conversion.
impl<'a> Assign<ValidRational<'a>> for Rational
[src]
fn assign(&mut self, rhs: ValidRational)
[src]
Peforms the assignement. Read more
impl Send for Rational
[src]
impl Sync for Rational
[src]
impl Add<Float> for Rational
[src]
type Output = Float
The resulting type after applying the +
operator.
fn add(self, rhs: Float) -> Float
[src]
Performs the +
operation.
impl<'a> Add<Float> for &'a Rational
[src]
type Output = Float
The resulting type after applying the +
operator.
fn add(self, rhs: Float) -> Float
[src]
Performs the +
operation.
impl<'a> Add<&'a Float> for Rational
[src]
type Output = AddRefRationalOwn<'a>
The resulting type after applying the +
operator.
fn add(self, rhs: &'a Float) -> AddRefRationalOwn<'a>
[src]
Performs the +
operation.
impl<'a> Add<&'a Float> for &'a Rational
[src]
type Output = AddRefRational<'a>
The resulting type after applying the +
operator.
fn add(self, rhs: &'a Float) -> AddRefRational<'a>
[src]
Performs the +
operation.
impl Sub<Float> for Rational
[src]
type Output = Float
The resulting type after applying the -
operator.
fn sub(self, rhs: Float) -> Float
[src]
Performs the -
operation.
impl<'a> Sub<Float> for &'a Rational
[src]
type Output = Float
The resulting type after applying the -
operator.
fn sub(self, rhs: Float) -> Float
[src]
Performs the -
operation.
impl<'a> Sub<&'a Float> for Rational
[src]
type Output = SubFromRefRationalOwn<'a>
The resulting type after applying the -
operator.
fn sub(self, rhs: &'a Float) -> SubFromRefRationalOwn<'a>
[src]
Performs the -
operation.
impl<'a> Sub<&'a Float> for &'a Rational
[src]
type Output = SubRefRationalOwn<'a>
The resulting type after applying the -
operator.
fn sub(self, rhs: &'a Float) -> SubRefRationalOwn<'a>
[src]
Performs the -
operation.
impl Mul<Float> for Rational
[src]
type Output = Float
The resulting type after applying the *
operator.
fn mul(self, rhs: Float) -> Float
[src]
Performs the *
operation.
impl<'a> Mul<Float> for &'a Rational
[src]
type Output = Float
The resulting type after applying the *
operator.
fn mul(self, rhs: Float) -> Float
[src]
Performs the *
operation.
impl<'a> Mul<&'a Float> for Rational
[src]
type Output = MulRefRationalOwn<'a>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'a Float) -> MulRefRationalOwn<'a>
[src]
Performs the *
operation.
impl<'a> Mul<&'a Float> for &'a Rational
[src]
type Output = MulRefRational<'a>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'a Float) -> MulRefRational<'a>
[src]
Performs the *
operation.
impl Div<Float> for Rational
[src]
type Output = Float
The resulting type after applying the /
operator.
fn div(self, rhs: Float) -> Float
[src]
Performs the /
operation.
impl<'a> Div<Float> for &'a Rational
[src]
type Output = Float
The resulting type after applying the /
operator.
fn div(self, rhs: Float) -> Float
[src]
Performs the /
operation.
impl<'a> Div<&'a Float> for Rational
[src]
type Output = DivFromRefRationalOwn<'a>
The resulting type after applying the /
operator.
fn div(self, rhs: &'a Float) -> DivFromRefRationalOwn<'a>
[src]
Performs the /
operation.
impl<'a> Div<&'a Float> for &'a Rational
[src]
type Output = DivRefRationalOwn<'a>
The resulting type after applying the /
operator.
fn div(self, rhs: &'a Float) -> DivRefRationalOwn<'a>
[src]
Performs the /
operation.
impl PartialEq<Float> for Rational
[src]
fn eq(&self, other: &Float) -> bool
[src]
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests for !=
.
impl PartialOrd<Float> for Rational
[src]
fn partial_cmp(&self, other: &Float) -> Option<Ordering>
[src]
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more