# Struct floating_bar::r64 [−][src]

The 64-bit floating bar type.

## Implementations

`impl r64`

[src]

`pub const unsafe fn new_unchecked(numer: i64, denom: u64) -> r64`

[src]

Creates a rational number without checking the values.

# Safety

The values must fit in the fraction field.

`pub fn new(numer: i64, denom: u64) -> Option<r64>`

[src]

Creates a rational number if the given values both fit in the fraction field.

`pub fn sqrt(self) -> r64`

[src]

Calculates the approximate square root of the value.

**Warning**: This method can give a number that overflows easily, so
use it with caution, and discard it as soon as you’re done with it.

`pub fn cbrt(self) -> r64`

[src]

Calculates the approximate cube root of the value.

**Warning**: This method can give a number that overflows easily, so
use it with caution, and discard it as soon as you’re done with it.

`pub fn checked_add(self, rhs: r64) -> Option<r64>`

[src]

Checked rational addition. Computes `self + rhs`

, returning `None`

if
overflow occurred.

`pub fn checked_mul(self, rhs: r64) -> Option<r64>`

[src]

Checked rational multiplication. Computes `self * rhs`

, returning `None`

if overflow occurred.

`pub fn to_i64(self) -> Option<i64>`

[src]

Checked conversion to `i64`

.

Returns `i64`

value if denominator is 1. Otherwise, returns `None`

.

`impl r64`

[src]

`pub const `**MAX**: r64

[src]

**MAX**: r64

The highest value that can be represented by this rational type.

`pub const `**MIN**: r64

[src]

**MIN**: r64

The lowest value that can be represented by this rational type.

`pub const `**MIN_POSITIVE**: r64

[src]

**MIN_POSITIVE**: r64

The smallest positive value that can be represented by this rational type.

`pub const `**NAN**: r64

[src]

**NAN**: r64

Not a Number (NaN).

`pub fn is_nan(self) -> bool`

[src]

Returns `true`

if this value is `NAN`

and `false`

otherwise.

`pub fn is_positive(self) -> bool`

[src]

Returns `true`

if `self`

is positive and `false`

if the number is zero,
negative, or `NAN`

.

`pub fn is_negative(self) -> bool`

[src]

Returns `true`

if `self`

is negative and `false`

if the number is zero,
positive, or `NAN`

.

`pub fn trunc(self) -> r64`

[src]

Returns the integer part of a number, or NaN if `self`

is NaN.

`pub fn fract(self) -> r64`

[src]

Returns the fractional part of a number, or NaN if `self`

is NaN.

`pub fn floor(self) -> r64`

[src]

Returns the largest integer less than or equal to a number.

`pub fn ceil(self) -> r64`

[src]

Returns the smallest integer greater than or equal to a number.

`pub fn round(self) -> r64`

[src]

Returns the nearest integer to a number. Round half-way cases away from zero.

`pub fn abs(self) -> r64`

[src]

Computes the absolute value of `self`

.

`pub fn signum(self) -> r64`

[src]

Returns a number that represents the sign of `self`

.

`1`

if the number is positive`-1`

if the number is negative`0`

if the number is`0`

`NAN`

if the number is`NAN`

.

`pub fn recip(self) -> r64`

[src]

`pub fn normalize(self) -> r64`

[src]

Cancels out common factors between the numerator and the denominator.

`pub fn pow(self, exp: i32) -> r64`

[src]

Checked exponentiation. Computes `self.pow(exp)`

, returning `None`

if
overflow occurred.

`pub fn max(self, other: r64) -> r64`

[src]

Returns the maximum of the two numbers.

If one of the arguments is `NaN`

, then the other argument is returned.

`pub fn min(self, other: r64) -> r64`

[src]

Returns the minimum of the two numbers.

If one of the arguments is `NaN`

, then the other argument is returned.

`pub fn checked_neg(self) -> Option<r64>`

[src]

Checked rational negation. Computes `-self`

, returning `None`

if the
numerator would overflow.

`pub fn checked_abs(self) -> Option<r64>`

[src]

Checked absolute value. Computes `self.abs()`

, returning `None`

if the
numerator would overflow.

`pub fn checked_recip(self) -> Option<r64>`

[src]

Checked reciprocal. Computes `1/self`

, returning `None`

if the
numerator is zero.

`pub fn checked_pow(self, exp: i32) -> Option<r64>`

[src]

Checked exponentiation. Computes `self.pow(exp)`

, returning `None`

if
overflow occurred.

`pub fn checked_sub(self, rhs: r64) -> Option<r64>`

[src]

Checked subtraction. Computes `self - rhs`

, returning `None`

if
overflow occurred.

`pub fn checked_div(self, rhs: r64) -> Option<r64>`

[src]

Checked rational division. Computes `self / rhs`

, returning `None`

if
`rhs == 0`

or the division results in overflow.

`pub fn checked_rem(self, rhs: r64) -> Option<r64>`

[src]

Checked rational remainder. Computes `self % rhs`

, returning `None`

if
`rhs == 0`

or the division results in overflow.

`pub fn to_bits(self) -> u64`

[src]

Raw transmutation to `u64`

.

Useful if you need access to the payload bits of a NaN value.

`pub fn from_bits(bits: u64) -> r64`

[src]

Raw transmutation from `u64`

.

## Trait Implementations

`impl Add<r64> for r64`

[src]

`type Output = r64`

The resulting type after applying the `+`

operator.

`fn add(self, other: r64) -> Self::Output`

[src]

`impl AddAssign<r64> for r64`

[src]

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

[src]

`impl Clone for r64`

[src]

`impl Copy for r64`

[src]

`impl Debug for r64`

[src]

`impl Default for r64`

[src]

`impl Display for r64`

[src]

`impl Div<r64> for r64`

[src]

`type Output = r64`

The resulting type after applying the `/`

operator.

`fn div(self, other: r64) -> Self::Output`

[src]

`impl DivAssign<r64> for r64`

[src]

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

[src]

`impl Eq for r64`

[src]

`impl From<f32> for r64`

[src]

`impl From<f64> for r64`

[src]

`impl From<i16> for r64`

[src]

`impl From<i32> for r64`

[src]

`impl From<i8> for r64`

[src]

`impl From<r32> for r64`

[src]

`impl From<u16> for r64`

[src]

`impl From<u32> for r64`

[src]

`impl From<u8> for r64`

[src]

`impl FromStr for r64`

[src]

`type Err = ParseRatioErr`

The associated error which can be returned from parsing.

`fn from_str(src: &str) -> Result<Self, Self::Err>`

[src]

Converts a string in base 10 to a rational.

This function accepts strings such as

- ‘157/50’
- ‘-157/50’
- ‘25’, or equivalently, ‘25/1’
- ‘NaN’

Leading and trailing whitespace represent an error.

# Return value

`Err(ParseRatioError)`

if the string did not contain a valid rational
number. Otherwise, `Ok(n)`

where `n`

is the floating-bar number
represented by `src`

.

`impl Mul<r64> for r64`

[src]

`type Output = r64`

The resulting type after applying the `*`

operator.

`fn mul(self, other: r64) -> Self::Output`

[src]

`impl MulAssign<r64> for r64`

[src]

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

[src]

`impl Neg for r64`

[src]

`type Output = r64`

The resulting type after applying the `-`

operator.

`fn neg(self) -> Self::Output`

[src]

`impl PartialEq<r64> for r64`

[src]

`impl PartialOrd<r64> for r64`

[src]

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

[src]

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

1.0.0[src]

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

1.0.0[src]

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

1.0.0[src]

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

1.0.0[src]

`impl Rem<r64> for r64`

[src]

`type Output = r64`

The resulting type after applying the `%`

operator.

`fn rem(self, other: r64) -> Self::Output`

[src]

`impl RemAssign<r64> for r64`

[src]

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

[src]

`impl StructuralEq for r64`

[src]

`impl Sub<r64> for r64`

[src]

`type Output = r64`

The resulting type after applying the `-`

operator.

`fn sub(self, other: r64) -> Self::Output`

[src]

`impl SubAssign<r64> for r64`

[src]

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

[src]

## Auto Trait Implementations

`impl RefUnwindSafe for r64`

`impl Send for r64`

`impl Sync for r64`

`impl Unpin for r64`

`impl UnwindSafe for r64`

## 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,

`pub 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> ToOwned for T where`

T: Clone,

[src]

T: Clone,

`type Owned = T`

The resulting type after obtaining ownership.

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

[src]

`pub 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.

`pub 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>,