# [−][src]Struct num_rational::Ratio

Represents the ratio between two numbers.

## Fields

`numer: T`

Numerator.

`denom: T`

Denominator.

## Methods

`impl<T> Ratio<T>`

[src]

These method are `const`

for Rust 1.31 and later.

`pub const fn new_raw(numer: T, denom: T) -> Ratio<T>`

[src]

Creates a `Ratio`

without checking for `denom == 0`

or reducing.

`pub const fn numer(&self) -> &T`

[src]

Gets an immutable reference to the numerator.

`pub const fn denom(&self) -> &T`

[src]

Gets an immutable reference to the denominator.

`impl<T: Clone + Integer> Ratio<T>`

[src]

`pub fn new(numer: T, denom: T) -> Ratio<T>`

[src]

Creates a new `Ratio`

. Fails if `denom`

is zero.

`pub fn from_integer(t: T) -> Ratio<T>`

[src]

Creates a `Ratio`

representing the integer `t`

.

`pub fn to_integer(&self) -> T`

[src]

Converts to an integer, rounding towards zero.

`pub fn is_integer(&self) -> bool`

[src]

Returns true if the rational number is an integer (denominator is 1).

`pub fn reduced(&self) -> Ratio<T>`

[src]

Returns a reduced copy of self.

In general, it is not necessary to use this method, as the only
method of procuring a non-reduced fraction is through `new_raw`

.

`pub fn recip(&self) -> Ratio<T>`

[src]

Returns the reciprocal.

Fails if the `Ratio`

is zero.

`pub fn floor(&self) -> Ratio<T>`

[src]

Rounds towards minus infinity.

`pub fn ceil(&self) -> Ratio<T>`

[src]

Rounds towards plus infinity.

`pub fn round(&self) -> Ratio<T>`

[src]

Rounds to the nearest integer. Rounds half-way cases away from zero.

`pub fn trunc(&self) -> Ratio<T>`

[src]

Rounds towards zero.

`pub fn fract(&self) -> Ratio<T>`

[src]

Returns the fractional part of a number, with division rounded towards zero.

Satisfies `self == self.trunc() + self.fract()`

.

`impl<T: Clone + Integer + Pow<u32, Output = T>> Ratio<T>`

[src]

`impl Ratio<BigInt>`

[src]

`pub fn from_float<T: FloatCore>(f: T) -> Option<BigRational>`

[src]

Converts a float into a rational number.

`impl<T: Integer + Signed + Bounded + NumCast + Clone> Ratio<T>`

[src]

## Trait Implementations

`impl<'a, T> Add<&'a Ratio<T>> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `+`

operator.

`fn add(self, other: &Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Add<&'a T> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `+`

operator.

`fn add(self, other: &T) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Add<&'b Ratio<T>> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `+`

operator.

`fn add(self, other: &'b Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Add<&'b T> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `+`

operator.

`fn add(self, other: &'b T) -> Ratio<T>`

[src]

`impl<'a, T> Add<Ratio<T>> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `+`

operator.

`fn add(self, other: Ratio<T>) -> Ratio<T>`

[src]

`impl<T: Clone + Integer> Add<Ratio<T>> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `+`

operator.

`fn add(self, rhs: Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Add<T> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `+`

operator.

`fn add(self, other: T) -> Ratio<T>`

[src]

`impl<T: Clone + Integer> Add<T> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `+`

operator.

`fn add(self, rhs: T) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + NumAssign> AddAssign<&'a Ratio<T>> for Ratio<T>`

[src]

`fn add_assign(&mut self, other: &Ratio<T>)`

[src]

`impl<'a, T: Clone + Integer + NumAssign> AddAssign<&'a T> for Ratio<T>`

[src]

`fn add_assign(&mut self, other: &T)`

[src]

`impl<T: Clone + Integer + NumAssign> AddAssign<Ratio<T>> for Ratio<T>`

[src]

`fn add_assign(&mut self, other: Ratio<T>)`

[src]

`impl<T: Clone + Integer + NumAssign> AddAssign<T> for Ratio<T>`

[src]

`fn add_assign(&mut self, other: T)`

[src]

`impl<T: Clone + Integer + CheckedMul + CheckedAdd> CheckedAdd for Ratio<T>`

[src]

`fn checked_add(&self, rhs: &Ratio<T>) -> Option<Ratio<T>>`

[src]

`impl<T> CheckedDiv for Ratio<T> where`

T: Clone + Integer + CheckedMul,

[src]

T: Clone + Integer + CheckedMul,

`fn checked_div(&self, rhs: &Ratio<T>) -> Option<Ratio<T>>`

[src]

`impl<T> CheckedMul for Ratio<T> where`

T: Clone + Integer + CheckedMul,

[src]

T: Clone + Integer + CheckedMul,

`fn checked_mul(&self, rhs: &Ratio<T>) -> Option<Ratio<T>>`

[src]

`impl<T: Clone + Integer + CheckedMul + CheckedSub> CheckedSub for Ratio<T>`

[src]

`fn checked_sub(&self, rhs: &Ratio<T>) -> Option<Ratio<T>>`

[src]

`impl<T: Clone> Clone for Ratio<T>`

[src]

`fn clone(&self) -> Ratio<T>`

[src]

`fn clone_from(&mut self, source: &Self)`

1.0.0[src]

`impl<T: Copy> Copy for Ratio<T>`

[src]

`impl<T: Debug> Debug for Ratio<T>`

[src]

`impl<T> Display for Ratio<T> where`

T: Display + Eq + One,

[src]

T: Display + Eq + One,

`fn fmt(&self, f: &mut Formatter) -> Result`

[src]

Renders as `numer/denom`

. If denom=1, renders as numer.

`impl<'a, T> Div<&'a Ratio<T>> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `/`

operator.

`fn div(self, other: &Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Div<&'a T> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `/`

operator.

`fn div(self, other: &T) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Div<&'b Ratio<T>> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `/`

operator.

`fn div(self, other: &'b Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Div<&'b T> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `/`

operator.

`fn div(self, other: &'b T) -> Ratio<T>`

[src]

`impl<'a, T> Div<Ratio<T>> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `/`

operator.

`fn div(self, other: Ratio<T>) -> Ratio<T>`

[src]

`impl<T> Div<Ratio<T>> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `/`

operator.

`fn div(self, rhs: Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Div<T> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `/`

operator.

`fn div(self, other: T) -> Ratio<T>`

[src]

`impl<T> Div<T> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `/`

operator.

`fn div(self, rhs: T) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + NumAssign> DivAssign<&'a Ratio<T>> for Ratio<T>`

[src]

`fn div_assign(&mut self, other: &Ratio<T>)`

[src]

`impl<'a, T: Clone + Integer + NumAssign> DivAssign<&'a T> for Ratio<T>`

[src]

`fn div_assign(&mut self, other: &T)`

[src]

`impl<T: Clone + Integer + NumAssign> DivAssign<Ratio<T>> for Ratio<T>`

[src]

`fn div_assign(&mut self, other: Ratio<T>)`

[src]

`impl<T: Clone + Integer + NumAssign> DivAssign<T> for Ratio<T>`

[src]

`fn div_assign(&mut self, other: T)`

[src]

`impl<T: Clone + Integer> Eq for Ratio<T>`

[src]

`impl<T> From<(T, T)> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`impl<T> From<T> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`impl FromPrimitive for Ratio<BigInt>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<i8>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<u64>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<u128>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<usize>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<i16>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<i32>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<i64>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<i128>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<isize>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<u8>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<u16>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl FromPrimitive for Ratio<u32>`

[src]

`fn from_i64(n: i64) -> Option<Self>`

[src]

`fn from_i128(n: i128) -> Option<Self>`

[src]

`fn from_u64(n: u64) -> Option<Self>`

[src]

`fn from_u128(n: u128) -> Option<Self>`

[src]

`fn from_f32(n: f32) -> Option<Self>`

[src]

`fn from_f64(n: f64) -> Option<Self>`

[src]

`fn from_isize(n: isize) -> Option<Self>`

[src]

`fn from_i8(n: i8) -> Option<Self>`

[src]

`fn from_i16(n: i16) -> Option<Self>`

[src]

`fn from_i32(n: i32) -> Option<Self>`

[src]

`fn from_usize(n: usize) -> Option<Self>`

[src]

`fn from_u8(n: u8) -> Option<Self>`

[src]

`fn from_u16(n: u16) -> Option<Self>`

[src]

`fn from_u32(n: u32) -> Option<Self>`

[src]

`impl<T: FromStr + Clone + Integer> FromStr for Ratio<T>`

[src]

`type Err = ParseRatioError`

The associated error which can be returned from parsing.

`fn from_str(s: &str) -> Result<Ratio<T>, ParseRatioError>`

[src]

Parses `numer/denom`

or just `numer`

.

`impl<T: Clone + Integer + Hash> Hash for Ratio<T>`

[src]

`fn hash<H: Hasher>(&self, state: &mut H)`

[src]

`fn hash_slice<H>(data: &[Self], state: &mut H) where`

H: Hasher,

1.3.0[src]

H: Hasher,

`impl<T> Into<(T, T)> for Ratio<T>`

[src]

`impl<T> Inv for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`impl<'a, T> Inv for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`impl<'a, T> Mul<&'a Ratio<T>> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `*`

operator.

`fn mul(self, other: &Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Mul<&'a T> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `*`

operator.

`fn mul(self, other: &T) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Mul<&'b Ratio<T>> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `*`

operator.

`fn mul(self, other: &'b Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Mul<&'b T> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `*`

operator.

`fn mul(self, other: &'b T) -> Ratio<T>`

[src]

`impl<'a, T> Mul<Ratio<T>> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `*`

operator.

`fn mul(self, other: Ratio<T>) -> Ratio<T>`

[src]

`impl<T> Mul<Ratio<T>> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `*`

operator.

`fn mul(self, rhs: Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Mul<T> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `*`

operator.

`fn mul(self, other: T) -> Ratio<T>`

[src]

`impl<T> Mul<T> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `*`

operator.

`fn mul(self, rhs: T) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + NumAssign> MulAssign<&'a Ratio<T>> for Ratio<T>`

[src]

`fn mul_assign(&mut self, other: &Ratio<T>)`

[src]

`impl<'a, T: Clone + Integer + NumAssign> MulAssign<&'a T> for Ratio<T>`

[src]

`fn mul_assign(&mut self, other: &T)`

[src]

`impl<T: Clone + Integer + NumAssign> MulAssign<Ratio<T>> for Ratio<T>`

[src]

`fn mul_assign(&mut self, other: Ratio<T>)`

[src]

`impl<T: Clone + Integer + NumAssign> MulAssign<T> for Ratio<T>`

[src]

`fn mul_assign(&mut self, other: T)`

[src]

`impl<T> Neg for Ratio<T> where`

T: Clone + Integer + Neg<Output = T>,

[src]

T: Clone + Integer + Neg<Output = T>,

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn neg(self) -> Ratio<T>`

[src]

`impl<'a, T> Neg for &'a Ratio<T> where`

T: Clone + Integer + Neg<Output = T>,

[src]

T: Clone + Integer + Neg<Output = T>,

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn neg(self) -> Ratio<T>`

[src]

`impl<T: Clone + Integer> Num for Ratio<T>`

[src]

`type FromStrRadixErr = ParseRatioError`

`fn from_str_radix(s: &str, radix: u32) -> Result<Ratio<T>, ParseRatioError>`

[src]

Parses `numer/denom`

where the numbers are in base `radix`

.

`impl<T: Clone + Integer> One for Ratio<T>`

[src]

`impl<T: Clone + Integer> Ord for Ratio<T>`

[src]

`fn cmp(&self, other: &Self) -> Ordering`

[src]

`#[must_use]fn max(self, other: Self) -> Self`

1.21.0[src]

`#[must_use]fn min(self, other: Self) -> Self`

1.21.0[src]

`#[must_use]fn clamp(self, min: Self, max: Self) -> Self`

[src]

`impl<T: Clone + Integer> PartialEq<Ratio<T>> for Ratio<T>`

[src]

`impl<T: Clone + Integer> PartialOrd<Ratio<T>> for Ratio<T>`

[src]

`fn partial_cmp(&self, other: &Self) -> Option<Ordering>`

[src]

`#[must_use]fn lt(&self, other: &Rhs) -> bool`

1.0.0[src]

`#[must_use]fn le(&self, other: &Rhs) -> bool`

1.0.0[src]

`#[must_use]fn gt(&self, other: &Rhs) -> bool`

1.0.0[src]

`#[must_use]fn ge(&self, other: &Rhs) -> bool`

1.0.0[src]

`impl<'a, T: Clone + Integer + Pow<u16, Output = T>> Pow<&'a i16> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a i16) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<u16, Output = T>> Pow<&'a i16> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a i16) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u32, Output = T>> Pow<&'a i32> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a i32) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<u32, Output = T>> Pow<&'a i32> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a i32) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u64, Output = T>> Pow<&'a i64> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a i64) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<u64, Output = T>> Pow<&'a i64> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a i64) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u8, Output = T>> Pow<&'a i8> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a i8) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<u8, Output = T>> Pow<&'a i8> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a i8) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<usize, Output = T>> Pow<&'a isize> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a isize) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<usize, Output = T>> Pow<&'a isize> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a isize) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u16, Output = T>> Pow<&'a u16> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a u16) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<u16, Output = T>> Pow<&'a u16> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a u16) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u32, Output = T>> Pow<&'a u32> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a u32) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<u32, Output = T>> Pow<&'a u32> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a u32) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u64, Output = T>> Pow<&'a u64> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a u64) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<u64, Output = T>> Pow<&'a u64> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a u64) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u8, Output = T>> Pow<&'a u8> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a u8) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<u8, Output = T>> Pow<&'a u8> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a u8) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<usize, Output = T>> Pow<&'a usize> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a usize) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer + Pow<usize, Output = T>> Pow<&'a usize> for &'b Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: &'a usize) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<u16, Output = T>> Pow<i16> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: i16) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u16, Output = T>> Pow<i16> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: i16) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<u32, Output = T>> Pow<i32> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: i32) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u32, Output = T>> Pow<i32> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: i32) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<u64, Output = T>> Pow<i64> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: i64) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u64, Output = T>> Pow<i64> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: i64) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<u8, Output = T>> Pow<i8> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: i8) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u8, Output = T>> Pow<i8> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: i8) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<usize, Output = T>> Pow<isize> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: isize) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<usize, Output = T>> Pow<isize> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: isize) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<u16, Output = T>> Pow<u16> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: u16) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u16, Output = T>> Pow<u16> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: u16) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<u32, Output = T>> Pow<u32> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: u32) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u32, Output = T>> Pow<u32> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: u32) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<u64, Output = T>> Pow<u64> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: u64) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u64, Output = T>> Pow<u64> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: u64) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<u8, Output = T>> Pow<u8> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: u8) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<u8, Output = T>> Pow<u8> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: u8) -> Ratio<T>`

[src]

`impl<T: Clone + Integer + Pow<usize, Output = T>> Pow<usize> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: usize) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + Pow<usize, Output = T>> Pow<usize> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The result after applying the operator.

`fn pow(self, expon: usize) -> Ratio<T>`

[src]

`impl<'a, T: Integer + Clone> Product<&'a Ratio<T>> for Ratio<T>`

[src]

`impl<T: Integer + Clone> Product<Ratio<T>> for Ratio<T>`

[src]

`impl<'a, T> Rem<&'a Ratio<T>> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `%`

operator.

`fn rem(self, other: &Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Rem<&'a T> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `%`

operator.

`fn rem(self, other: &T) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Rem<&'b Ratio<T>> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `%`

operator.

`fn rem(self, other: &'b Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Rem<&'b T> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `%`

operator.

`fn rem(self, other: &'b T) -> Ratio<T>`

[src]

`impl<'a, T> Rem<Ratio<T>> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `%`

operator.

`fn rem(self, other: Ratio<T>) -> Ratio<T>`

[src]

`impl<T: Clone + Integer> Rem<Ratio<T>> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `%`

operator.

`fn rem(self, rhs: Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Rem<T> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `%`

operator.

`fn rem(self, other: T) -> Ratio<T>`

[src]

`impl<T: Clone + Integer> Rem<T> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `%`

operator.

`fn rem(self, rhs: T) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + NumAssign> RemAssign<&'a Ratio<T>> for Ratio<T>`

[src]

`fn rem_assign(&mut self, other: &Ratio<T>)`

[src]

`impl<'a, T: Clone + Integer + NumAssign> RemAssign<&'a T> for Ratio<T>`

[src]

`fn rem_assign(&mut self, other: &T)`

[src]

`impl<T: Clone + Integer + NumAssign> RemAssign<Ratio<T>> for Ratio<T>`

[src]

`fn rem_assign(&mut self, other: Ratio<T>)`

[src]

`impl<T: Clone + Integer + NumAssign> RemAssign<T> for Ratio<T>`

[src]

`fn rem_assign(&mut self, other: T)`

[src]

`impl<T: Clone + Integer + Signed> Signed for Ratio<T>`

[src]

`fn abs(&self) -> Ratio<T>`

[src]

`fn abs_sub(&self, other: &Ratio<T>) -> Ratio<T>`

[src]

`fn signum(&self) -> Ratio<T>`

[src]

`fn is_positive(&self) -> bool`

[src]

`fn is_negative(&self) -> bool`

[src]

`impl<'a, T> Sub<&'a Ratio<T>> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn sub(self, other: &Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Sub<&'a T> for Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn sub(self, other: &T) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Sub<&'b Ratio<T>> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn sub(self, other: &'b Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, 'b, T: Clone + Integer> Sub<&'b T> for &'a Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn sub(self, other: &'b T) -> Ratio<T>`

[src]

`impl<'a, T> Sub<Ratio<T>> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn sub(self, other: Ratio<T>) -> Ratio<T>`

[src]

`impl<T: Clone + Integer> Sub<Ratio<T>> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn sub(self, rhs: Ratio<T>) -> Ratio<T>`

[src]

`impl<'a, T> Sub<T> for &'a Ratio<T> where`

T: Clone + Integer,

[src]

T: Clone + Integer,

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn sub(self, other: T) -> Ratio<T>`

[src]

`impl<T: Clone + Integer> Sub<T> for Ratio<T>`

[src]

`type Output = Ratio<T>`

The resulting type after applying the `-`

operator.

`fn sub(self, rhs: T) -> Ratio<T>`

[src]

`impl<'a, T: Clone + Integer + NumAssign> SubAssign<&'a Ratio<T>> for Ratio<T>`

[src]

`fn sub_assign(&mut self, other: &Ratio<T>)`

[src]

`impl<'a, T: Clone + Integer + NumAssign> SubAssign<&'a T> for Ratio<T>`

[src]

`fn sub_assign(&mut self, other: &T)`

[src]

`impl<T: Clone + Integer + NumAssign> SubAssign<Ratio<T>> for Ratio<T>`

[src]

`fn sub_assign(&mut self, other: Ratio<T>)`

[src]

`impl<T: Clone + Integer + NumAssign> SubAssign<T> for Ratio<T>`

[src]

`fn sub_assign(&mut self, other: T)`

[src]

`impl<'a, T: Integer + Clone> Sum<&'a Ratio<T>> for Ratio<T>`

[src]

`impl<T: Integer + Clone> Sum<Ratio<T>> for Ratio<T>`

[src]

`impl<T: Clone + Integer> Zero for Ratio<T>`

[src]

## Auto Trait Implementations

`impl<T> RefUnwindSafe for Ratio<T> where`

T: RefUnwindSafe,

T: RefUnwindSafe,

`impl<T> Send for Ratio<T> where`

T: Send,

T: Send,

`impl<T> Sync for Ratio<T> where`

T: Sync,

T: Sync,

`impl<T> Unpin for Ratio<T> where`

T: Unpin,

T: Unpin,

`impl<T> UnwindSafe for Ratio<T> where`

T: UnwindSafe,

T: UnwindSafe,

## Blanket Implementations

`impl<T> Any for T where`

T: 'static + ?Sized,

[src]

T: 'static + ?Sized,

`impl<T> Borrow<T> for T where`

T: ?Sized,

[src]

T: ?Sized,

`impl<T> BorrowMut<T> for T where`

T: ?Sized,

[src]

T: ?Sized,

`fn borrow_mut(&mut self) -> &mut T`

[src]

`impl<T> From<T> for T`

[src]

`impl<T, U> Into<U> for T where`

U: From<T>,

[src]

U: From<T>,

`impl<T> NumAssign for T where`

T: Num + NumAssignOps<T>,

[src]

T: Num + NumAssignOps<T>,

`impl<T, Rhs> NumAssignOps<Rhs> for T where`

T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,

[src]

T: AddAssign<Rhs> + SubAssign<Rhs> + MulAssign<Rhs> + DivAssign<Rhs> + RemAssign<Rhs>,

`impl<T> NumAssignRef for T where`

T: NumAssign + NumAssignOps<&'r T>,

[src]

T: NumAssign + NumAssignOps<&'r T>,

`impl<T, Rhs, Output> NumOps<Rhs, Output> for T where`

T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

[src]

T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

`impl<T> NumRef for T where`

T: Num + NumOps<&'r T, T>,

[src]

T: Num + NumOps<&'r T, T>,

`impl<T, Base> RefNum<Base> for T where`

T: NumOps<Base, Base> + NumOps<&'r Base, Base>,

[src]

T: NumOps<Base, Base> + NumOps<&'r Base, Base>,

`impl<T> ToOwned for T where`

T: Clone,

[src]

T: Clone,

`type Owned = T`

The resulting type after obtaining ownership.

`fn to_owned(&self) -> T`

[src]

`fn clone_into(&self, target: &mut T)`

[src]

`impl<T> ToString for T where`

T: Display + ?Sized,

[src]

T: Display + ?Sized,

`impl<T, U> TryFrom<U> for T where`

U: Into<T>,

[src]

U: Into<T>,

`type Error = Infallible`

The type returned in the event of a conversion error.

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`

[src]

`impl<T, U> TryInto<U> for T where`

U: TryFrom<T>,

[src]

U: TryFrom<T>,