Struct rug::Float [] [src]

pub struct Float { /* fields omitted */ }

A multi-precision floating-point number with arbitrarily large precision and correct rounding

The precision has to be set during construction. The rounding method of the required operations can be specified, and the direction of the rounding is returned.

There are two versions of most methods:

  1. The first rounds the returned or stored Float to the nearest representable value.
  2. The second applies the specified rounding method, and returns the rounding direction:
    • Ordering::Less if the returned/stored Float is less than the exact result,
    • Ordering::Equal if the returned/stored Float is equal to the exact result,
    • Ordering::Greater if the returned/stored Float is greater than the exact result,

Examples

use rug::Float;
use rug::float::Round;
use rug::ops::DivAssignRound;
use std::cmp::Ordering;
// A precision of 32 significant bits is specified here.
// (The primitive `f32` has a precision of 24 and
// `f64` has a precision of 53.)
let mut two_thirds_down = Float::with_val(32, 2.0);
let dir = two_thirds_down.div_assign_round(3.0, Round::Down);
// since we rounded down, direction is Ordering::Less
assert_eq!(dir, Ordering::Less);
let mut two_thirds_up = Float::with_val(32, 2.0);
let dir = two_thirds_up.div_assign_round(3.0, Round::Up);
// since we rounded up, direction is Ordering::Greater
assert_eq!(dir, Ordering::Greater);
let diff_expected = 2.0_f64.powi(-32);
let diff = two_thirds_up - two_thirds_down;
assert_eq!(diff, diff_expected);

The following example is a translation of the MPFR sample found on the MPFR website. The program computes a lower bound on 1 + 1/1! + 1/2! + … + 1/100! using 200-bit precision. The program writes:

Sum is 2.7182818284590452353602874713526624977572470936999595749669131

extern crate rug;
use rug::{AssignRound, Float};
use rug::float::Round;
use rug::ops::{AddAssignRound, MulAssignRound};

fn main() {
    let mut t = Float::with_val(200, 1.0);
    let mut s = Float::with_val(200, 1.0);
    let mut u = Float::new(200);
    for i in 1..101_u32 {
        // multiply t by i in place, round towards plus infinity
        t.mul_assign_round(i, Round::Up);
        // set u to 1/t, round towards minus infinity
        u.assign_round(t.recip_ref(), Round::Down);
        // increase s by u in place, round towards minus infinity
        s.add_assign_round(&u, Round::Down);
    }
    // `None` means the number of printed digits depends on the precision
    let sr = s.to_string_radix_round(10, None, Round::Down);
    println!("Sum is {}", sr);
}

Methods

impl Float
[src]

Create a new floating-point number with the specified precision and with value 0.

Examples

use rug::Float;
let f = Float::new(53);
assert_eq!(f.prec(), 53);
assert_eq!(f, 0);

Panics

Panics if prec is out of the allowed range.

Create a new floating-point number with the specified precision and with the given value, rounding to the nearest.

Examples

use rug::Float;
let f = Float::with_val(53, 1.3);
assert_eq!(f.prec(), 53);
assert_eq!(f, 1.3);

Panics

Panics if prec is out of the allowed range.

Create a new floating-point number with the specified precision and with the given value, applying the specified rounding method.

Examples

use rug::Float;
use rug::float::Round;
use std::cmp::Ordering;
let (f1, dir) = Float::with_val_round(4, 3.3, Round::Nearest);
// 3.3 with precision 4 is rounded down to 3.25
assert_eq!(f1.prec(), 4);
assert_eq!(f1, 3.25);
assert_eq!(dir, Ordering::Less);
let (f2, dir) = Float::with_val_round(4, 3.3, Round::Up);
// 3.3 rounded up to 3.5
assert_eq!(f2.prec(), 4);
assert_eq!(f2, 3.5);
assert_eq!(dir, Ordering::Greater);

Panics

Panics if prec is out of the allowed range.

Returns the precision.

Sets the precision, rounding to the nearest.

Panics

Panics if prec is out of the allowed range.

Sets the precision, applying the specified rounding method.

Panics

Panics if prec is out of the allowed range.

Parses a Float with the specified precision, rounding to the nearest.

See the corresponding assignment.

Parses a Float with the specified precision, applying the specified rounding.

See the corresponding assignment.

Parses a Float with the specified radix and precision, rounding to the nearest.

See the corresponding assignment.

Panics

Panics if radix is less than 2 or greater than 36.

Parses a Float with the specified radix and precision, applying the specified rounding.

See the corresponding assignment.

Panics

Panics if radix is less than 2 or greater than 36.

Checks if a Float can be parsed.

If this method does not return an error, neither will any other function that parses a Float. If this method returns an error, the other functions will return the same error.

The string can start with an optional minus or plus sign. Whitespace is not allowed anywhere in the string, including in the beginning and end.

Examples

use rug::Float;

let valid1 = Float::valid_str_radix("12.23e-4", 4);
let f1 = Float::with_val(53, valid1.unwrap());
assert_eq!(f1, (2.0 + 4.0 * 1.0 + 0.25 * (2.0 + 0.25 * 3.0)) / 256.0);
let valid2 = Float::valid_str_radix("12.yz@2", 36);
let f2 = Float::with_val(53, valid2.unwrap());
assert_eq!(f2, 35 + 36 * (34 + 36 * (2 + 36 * 1)));

let invalid = Float::valid_str_radix("ffe-2", 16);
let invalid_f = Float::from_str_radix("ffe-2", 16, 53);
assert_eq!(invalid.unwrap_err(), invalid_f.unwrap_err());

Panics

Panics if radix is less than 2 or greater than 36.

Converts to an integer, rounding to the nearest.

Converts to an integer, applying the specified rounding method.

If the value is a finite number, returns an Integer and exponent such that self is exactly equal to the integer multiplied by two raised to the power of the exponent.

Examples

use rug::{Assign, Float};
use rug::float::Special;
let mut float = Float::with_val(16, 6.5);
// 6.5 in binary is 110.1
// Since the precision is 16 bits, this becomes
// 1101_0000_0000_0000 times two to the power of -12
let (int, exp) = float.to_integer_exp().unwrap();
assert_eq!(int, 0b1101_0000_0000_0000);
assert_eq!(exp, -13);

float.assign(0);
let (zero, _) = float.to_integer_exp().unwrap();
assert_eq!(zero, 0);

float.assign(Special::Infinity);
assert!(float.to_integer_exp().is_none());

If the value is a finite number, returns a Rational number preserving all the precision of the value.

Examples

use rug::{Float, Rational};
use rug::float::Round;
use std::str::FromStr;
use std::cmp::Ordering;

// Consider the number 123,456,789 / 10,000,000,000.
let res = Float::from_str_round("0.0123456789", 35, Round::Down);
let (f, f_rounding) = res.unwrap();
assert_eq!(f_rounding, Ordering::Less);
let r = Rational::from_str("123456789/10000000000").unwrap();
// Set fr to the value of f exactly.
let fr = f.to_rational().unwrap();
// Since f == fr and f was rounded down, r != fr.
assert_ne!(r, fr);
let (frf, frf_rounding) = Float::with_val_round(35, &fr, Round::Down);
assert_eq!(frf_rounding, Ordering::Equal);
assert_eq!(frf, f);
assert_eq!(format!("{:.9}", frf), "1.23456789e-2");

In the following example, the Float values can be represented exactly.

use rug::Float;

let large_f = Float::with_val(16, 6.5);
let large_r = large_f.to_rational().unwrap();
let small_f = Float::with_val(16, -0.125);
let small_r = small_f.to_rational().unwrap();

assert_eq!(*large_r.numer(), 13);
assert_eq!(*large_r.denom(), 2);
assert_eq!(*small_r.numer(), -1);
assert_eq!(*small_r.denom(), 8);

Converts to an i32, rounding to the nearest.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned. If the value is a NaN, None is returned.

Converts to an i32, applying the specified rounding method.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned. If the value is a NaN, None is returned.

Converts to a u32, rounding to the nearest.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned. If the value is a NaN, None is returned.

Converts to a u32, applying the specified rounding method.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned. If the value is a NaN, None is returned.

Converts to an f32, rounding to the nearest.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned.

Converts to an f32, applying the specified rounding method.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned.

Converts to an f64, rounding to the nearest.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned.

Converts to an f64, applying the specified rounding method.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned.

Converts to an f32 and an exponent, rounding to the nearest.

The returned f32 is in the range 0.5 ≤ x < 1.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned.

Examples

use rug::Float;
let zero = Float::new(64);
let (d0, exp0) = zero.to_f32_exp();
assert_eq!((d0, exp0), (0.0, 0));
let three_eighths = Float::with_val(64, 0.375);
let (d3_8, exp3_8) = three_eighths.to_f32_exp();
assert_eq!((d3_8, exp3_8), (0.75, -1));

Converts to an f32 and an exponent, applying the specified rounding method.

The returned f32 is in the range 0.5 ≤ x < 1.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned.

Examples

use rug::Float;
use rug::float::Round;
let frac_10_3 = Float::with_val(64, 10) / 3u32;
let (f_down, exp_down) = frac_10_3.to_f32_exp_round(Round::Down);
assert_eq!((f_down, exp_down), (0.8333333, 2));
let (f_up, exp_up) = frac_10_3.to_f32_exp_round(Round::Up);
assert_eq!((f_up, exp_up), (0.8333334, 2));

Converts to an f64 and an exponent, rounding to the nearest.

The returned f64 is in the range 0.5 ≤ x < 1.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned.

Converts to an f64 and an exponent, applying the specified rounding method.

The returned f64 is in the range 0.5 ≤ x < 1.

If the value is too small or too large for the target type, the minimum or maximum value allowed is returned.

Returns a string representation of self for the specified radix rounding to the nearest.

The exponent is encoded in decimal. The output string will have enough precision such that reading it again will give the exact same number.

Examples

use rug::Float;
use rug::float::Special;
let neg_inf = Float::with_val(53, Special::MinusInfinity);
assert_eq!(neg_inf.to_string_radix(10, None), "-inf");
assert_eq!(neg_inf.to_string_radix(16, None), "-@inf@");
let twentythree = Float::with_val(8, 23);
assert_eq!(twentythree.to_string_radix(10, None), "2.300e1");
assert_eq!(twentythree.to_string_radix(16, None), "1.70@1");
assert_eq!(twentythree.to_string_radix(10, Some(2)), "2.3e1");
assert_eq!(twentythree.to_string_radix(16, Some(4)), "1.700@1");

Panics

Panics if radix is less than 2 or greater than 36.

Returns a string representation of self for the specified radix applying the specified rounding method.

The exponent is encoded in decimal. The output string will have enough precision such that reading it again will give the exact same number.

Panics

Panics if radix is less than 2 or greater than 36.

Parses a Float from a string, rounding to the nearest.

Examples

use rug::Float;
let mut f = Float::new(53);
f.assign_str("12.5e2").unwrap();
assert_eq!(f, 12.5e2);
let ret = f.assign_str("bad");
assert!(ret.is_err());

Parses a Float from a string, applying the specified rounding.

Examples

use rug::Float;
use rug::float::Round;
use std::cmp::Ordering;
let mut f = Float::new(4);
let dir = f.assign_str_round("14.1", Round::Down).unwrap();
assert_eq!(f, 14);
assert_eq!(dir, Ordering::Less);

Parses a Float from a string with the specified radix, rounding to the nearest.

Examples

use rug::Float;
let mut f = Float::new(53);
f.assign_str_radix("f.f", 16).unwrap();
assert_eq!(f, 15.9375);

Panics

Panics if radix is less than 2 or greater than 36.

Parses a Float from a string with the specified radix, applying the specified rounding.

Examples

use rug::Float;
use rug::float::Round;
use std::cmp::Ordering;
let mut f = Float::new(4);
let dir = f.assign_str_radix_round("e.c", 16, Round::Up).unwrap();
assert_eq!(f, 15);
assert_eq!(dir, Ordering::Greater);

Panics

Panics if radix is less than 2 or greater than 36.

Returns true if self is an integer.

Returns true if self is not a number.

Returns true if self is plus or minus infinity.

Returns true if self is a finite number, that is neither NaN nor infinity.

Returns true if self is plus or minus zero.

Returns true if self is a normal number, that is neither NaN, nor infinity, nor zero. Note that Float cannot be subnormal.

Returns Ordering::Less if self is less than zero, Ordering::Greater if self is greater than zero, or Ordering::Equal if self is equal to zero.

Compares the absolute values of self and other.

Returns the exponent of self if self is a normal number, otherwise None. The significand is assumed to be in the range [0.5,1).

Returns the sign bit, that is true if the number is negative.

Emulate subnormal numbers, rounding to the nearest. This method has no effect if the value is not in the subnormal range.

Emulate subnormal numbers, applying the specified rounding method. This method simply propagates prev_rounding if the value is not in the subnormal range.

Computes the square, rounding to the nearest.

Computes the square, rounding to the nearest.

Computes the square, applying the specified rounding method.

Compuets the square.

Computes the square root, rounding to the nearest.

Computes the square root, rounding to the nearest.

Computes the square root, applying the specified rounding method.

Computes the square root.

Sets self to the square root of u, rounding to the nearest.

Sets self to the square root of u, applying the specified rounding method.

Computes the reciprocal square root, rounding to the nearest.

Computes the reciprocal square root, rounding to the nearest.

Computes the reciprocal square root, applying the specified rounding method.

Computes the reciprocal square root.

Computes the cube root, rounding to the nearest.

Computes the cube root, rounding to the nearest.

Computes the cube root, applying the specified rounding method.

Computes the cube root.

Computes the kth root, rounding to the nearest.

Computes the kth root, rounding to the nearest.

Computes the kth root, applying the specified rounding method.

Computes the kth root.

Computes the absolute value.

Computes the absolute value.

Computes the absolute value.

Computes the reciprocal, rounding to the nearest.

Computes the reciprocal, rounding to the nearest.

Computes the reciprocal, applying the specified rounding method.

Computes the reciprocal.

Computes the positive difference between self and other, rounding to the nearest.

Computes the positive difference between self and other, rounding to the nearest.

Computes the positive difference between self and other, applying the specified rounding method.

Computes the positive difference.

Computes the natural logarithm, rounding to the nearest.

Computes the natural logarithm, rounding to the nearest.

Computes the natural logarithm, applying the specified rounding method.

Computes the natural logarithm.

Computes the logarithm to base 2, rounding to the nearest.

Computes the logarithm to base 2, rounding to the nearest.

Computes the logarithm to base 2, applying the specified rounding method.

Computes the logarithm to base 2.

Computes the logarithm to base 10, rounding to the nearest.

Computes the logarithm to base 10, rounding to the nearest.

Computes the logarithm to base 10, applying the specified rounding method.

Computes the logarithm to base 10.

Computes the exponential, rounding to the nearest.

Computes the exponential, rounding to the nearest.

Computes the exponential, applying the specified rounding method.

Computes the exponential.

Computes 2 to the power of self, rounding to the nearest.

Computes 2 to the power of self, rounding to the nearest.

Computes 2 to the power of self, applying the specified rounding method.

Computes 2 to the power of the value.

Computes 10 to the power of self, rounding to the nearest.

Computes 10 to the power of self, rounding to the nearest.

Computes 10 to the power of self, applying the specified rounding method.

Computes 10 to the power of the value.

Computes the sine, rounding to the nearest.

Computes the sine, rounding to the nearest.

Computes the sine, applying the specified rounding method.

Computes the sine.

Computes the cosine, rounding to the nearest.

Computes the cosine, rounding to the nearest.

Computes the cosine, applying the specified rounding method.

Computes the cosine.

Computes the tangent, rounding to the nearest.

Computes the tangent, rounding to the nearest.

Computes the tangent, applying the specified rounding method.

Computes the tangent.

Computes the sine and cosine of self, rounding to the nearest.

The sine is stored in self and keeps its precision, while the cosine is stored in cos keeping its precision.

Computes the sine and cosine of self, applying the specified rounding method.

The sine is stored in self and keeps its precision, while the cosine is stored in cos keeping its precision.

Computes the sine and cosine of self, rounding to the nearest.

The sine is stored in self and keeps its precision, while the cosine is stored in cos keeping its precision.

Computes the sine and cosine.

Examples

use rug::{Assign, Float};
// sin(0.5) = 0.47943, cos(0.5) = 0.87758
let angle = Float::with_val(53, 0.5);
let r = angle.sin_cos_ref();
// use only 10 bits of precision here to
// make comparison easier
let (mut sin, mut cos) = (Float::new(10), Float::new(10));
(&mut sin, &mut cos).assign(r);
assert_eq!(sin, Float::with_val(10, 0.47943));
assert_eq!(cos, Float::with_val(10, 0.87748));

Computes the secant, rounding to the nearest.

Computes the secant, rounding to the nearest.

Computes the secant, applying the specified rounding method.

Computes the secant.

Computes the cosecant, rounding to the nearest.

Computes the cosecant, rounding to the nearest.

Computes the cosecant, applying the specified rounding method.

Computes the cosecant.

Computes the cotangent, rounding to the nearest.

Computes the cotangent, rounding to the nearest.

Computes the cotangent, applying the specified rounding method.

Computes the cotangent.

Computes the arc-cosine, rounding to the nearest.

Computes the arc-cosine, rounding to the nearest.

Computes the arc-cosine, applying the specified rounding method.

Computes the arc-cosine.

Computes the arc-sine, rounding to the nearest.

Computes the arc-sine, rounding to the nearest.

Computes the arc-sine, applying the specified rounding method.

Computes the arc-sine.

Computes the arc-tangent, rounding to the nearest.

Computes the arc-tangent, rounding to the nearest.

Computes the arc-tangent, applying the specified rounding method.

Computes the arc-tangent.

Computes the arc-tangent2 of self and other, rounding to the nearest.

This is similar to the arc-tangent of self / other, except in the cases when either self or other or both are zero or infinity.

Computes the arc-tangent2 of self and other, rounding to the nearest.

This is similar to the arc-tangent of self / other, except in the cases when either self or other or both are zero or infinity.

Computes the arc-tangent2 of self and other, applying the specified rounding method.

This is similar to the arc-tangent of self / other, except in the cases when either self or other or both are zero or infinity.

Computes the arc-tangent.

Computes the hyperbolic sine, rounding to the nearest.

Computes the hyperbolic sine, rounding to the nearest.

Computes the hyperbolic sine, applying the specified rounding method.

Computes the hyperbolic sine.

Computes the hyperbolic cosine, rounding to the nearest.

Computes the hyperbolic cosine, rounding to the nearest.

Computes the hyperbolic cosine, applying the specified rounding method.

Computes the hyperbolic cosine.

Computes the hyperbolic tangent, rounding to the nearest.

Computes the hyperbolic tangent, rounding to the nearest.

Computes the hyperbolic tangent, applying the specified rounding method.

Computes the hyperbolic tangent.

Computes the hyperbolic sine and cosine of self, rounding to the nearest.

The sine is stored in self and keeps its precision, while the cosine is stored in cos keeping its precision.

Computes the hyperbolic sine and cosine of self, applying the specified rounding method.

The sine is stored in self and keeps its precision, while the cosine is stored in cos keeping its precision.

Computes the hyperbolic sine and cosine of self, rounding to the nearest.

The sine is stored in self and keeps its precision, while the cosine is stored in cos keeping its precision.

Computes the hyperbolic sine and cosine.

Examples

use rug::{Assign, Float};
// sinh(0.5) = 0.52110, cosh(0.5) = 1.1276
let angle = Float::with_val(53, 0.5);
let r = angle.sinh_cosh_ref();
// use only 10 bits of precision here to
// make comparison easier
let (mut sinh, mut cosh) = (Float::new(10), Float::new(10));
(&mut sinh, &mut cosh).assign(r);
assert_eq!(sinh, Float::with_val(10, 0.52110));
assert_eq!(cosh, Float::with_val(10, 1.1276));

Computes the hyperbolic secant, rounding to the nearest.

Computes the hyperbolic secant, rounding to the nearest.

Computes the hyperbolic secant, applying the specified rounding method.

Computes the hyperbolic secant.

Computes the hyperbolic cosecant, rounding to the nearest.

Computes the hyperbolic cosecant, rounding to the nearest.

Computes the hyperbolic cosecant, applying the specified rounding method.

Computes the hyperbolic cosecant.

Computes the hyperbolic cotangent, rounding to the nearest.

Computes the hyperbolic cotangent, rounding to the nearest.

Computes the hyperbolic cotangent, applying the specified rounding method.

Computes the hyperbolic cotangent.

Computes the inverse hyperbolic cosine, rounding to the nearest.

Computes the inverse hyperbolic cosine, rounding to the nearest.

Computes the inverse hyperbolic cosine, applying the specified rounding method.

Computes the inverse hyperbolic cosine

Computes the inverse hyperbolic sine, rounding to the nearest.

Computes the inverse hyperbolic sine, rounding to the nearest.

Computes the inverse hyperbolic sine, applying the specified rounding method.

Computes the inverse hyperbolic sine.

Computes the inverse hyperbolic tangent, rounding to the nearest.

Computes the inverse hyperbolic tangent, rounding to the nearest.

Computes the inverse hyperbolic tangent, applying the specified rounding method.

Computes the inverse hyperbolic tangent.

Sets self to the factorial of u, rounding to the nearest.

Sets self to the factorial of u, applying the specified rounding method.

Computes the natural logarithm of one plus self, rounding to the nearest.

Computes the natural logarithm of one plus self, rounding to the nearest.

Computes the natural logarithm of one plus self, applying the specified rounding method.

Computes the natural logorithm of one plus the value.

Subtracts one from the exponential of self, rounding to the nearest.

Subtracts one from the exponential of self, rounding to the nearest.

Subtracts one from the exponential of self, applying the specified rounding method.

Computes one less than the exponential of the value.

Computes the exponential integral, rounding to the nearest.

Computes the exponential integral, rounding to the nearest.

Computes the exponential integral, applying the specified rounding method.

Computes the exponential integral.

Computes the real part of the dilogarithm of self, rounding to the nearest.

Computes the real part of the dilogarithm of self, rounding to the nearest.

Computes the real part of the dilogarithm of self, applying the specified rounding method.

Computes the real part of the dilogarithm of the value.

Computes the value of the Gamma function on self, rounding to the nearest.

Computes the value of the Gamma function on self, rounding to the nearest.

Computes the value of the Gamma function on self, applying the specified rounding method.

Computes the Gamma function on the value.

Computes the logarithm of the Gamma function on self, rounding to the nearest.

Computes the logarithm of the Gamma function on self, rounding to the nearest.

Computes the logarithm of the Gamma function on self, applying the specified rounding method.

Computes the logarithm of the Gamma function on the value.

Computes the logarithm of the absolute value of the Gamma function on self, rounding to the nearest.

Returns Ordering::Less if the Gamma function is negative, or Ordering::Greater if the Gamma function is positive.

Examples

use rug::Float;
use rug::float::Constant;
use std::cmp::Ordering;

// gamma of 1/2 is sqrt(pi)
let ln_gamma_64 = Float::with_val(64, Constant::Pi).sqrt().ln();

let f = Float::with_val(53, 0.5);
let (ln_gamma, sign) = f.ln_abs_gamma();
// gamma of 1/2 is positive
assert_eq!(sign, Ordering::Greater);
// check to 53 significant bits
assert_eq!(ln_gamma, Float::with_val(53, &ln_gamma_64));

If the Gamma function is negative, the sign returned is Ordering::Less.

use rug::Float;
use rug::float::Constant;
use std::cmp::Ordering;

// gamma of -1/2 is -2 * sqrt(pi)
let abs_gamma_64 = Float::with_val(64, Constant::Pi).sqrt() * 2u32;
let ln_gamma_64 = abs_gamma_64.ln();

let f = Float::with_val(53, -0.5);
let (ln_gamma, sign) = f.ln_abs_gamma();
// gamma of -1/2 is negative
assert_eq!(sign, Ordering::Less);
// check to 53 significant bits
assert_eq!(ln_gamma, Float::with_val(53, &ln_gamma_64));

Computes the logarithm of the absolute value of the Gamma function on self, rounding to the nearest.

Returns Ordering::Less if the Gamma function is negative, or Ordering::Greater if the Gamma function is positive.

Examples

use rug::Float;
use rug::float::Constant;
use std::cmp::Ordering;

// gamma of -1/2 is -2 * sqrt(pi)
let abs_gamma_64 = Float::with_val(64, Constant::Pi).sqrt() * 2u32;
let ln_gamma_64 = abs_gamma_64.ln();

let mut f = Float::with_val(53, -0.5);
let sign = f.ln_abs_gamma_mut();
// gamma of -1/2 is negative
assert_eq!(sign, Ordering::Less);
// check to 53 significant bits
assert_eq!(f, Float::with_val(53, &ln_gamma_64));

Computes the logarithm of the absolute value of the Gamma function on self, applying the specified rounding method.

The returned tuple contains:

  1. The logarithm of the absolute value of the Gamma function.
  2. The rounding direction.

Examples

use rug::Float;
use rug::float::{Constant, Round};
use std::cmp::Ordering;

// gamma of -1/2 is -2 * sqrt(pi)
let abs_gamma_64 = Float::with_val(64, Constant::Pi).sqrt() * 2u32;
let ln_gamma_64 = abs_gamma_64.ln();

let mut f = Float::with_val(53, -0.5);
let (sign, dir) = f.ln_abs_gamma_round(Round::Nearest);
// gamma of -1/2 is negative
assert_eq!(sign, Ordering::Less);
// check is correct to 53 significant bits
let (check, check_dir) =
    Float::with_val_round(53, &ln_gamma_64, Round::Nearest);
assert_eq!(f, check);
assert_eq!(dir, check_dir);

Computes the logarithm of the absolute value of the Gamma function on val.

Examples

use rug::{Assign, Float};
use rug::float::Constant;
use std::cmp::Ordering;

let neg1_2 = Float::with_val(53, -0.5);
// gamma of -1/2 is -2 * sqrt(pi)
let abs_gamma_64 = Float::with_val(64, Constant::Pi).sqrt() * 2u32;
let ln_gamma_64 = abs_gamma_64.ln();

// Assign rounds to the nearest
let r = neg1_2.ln_abs_gamma_ref();
let (mut f, mut sign) = (Float::new(53), Ordering::Equal);
(&mut f, &mut sign).assign(r);
// gamma of -1/2 is negative
assert_eq!(sign, Ordering::Less);
// check to 53 significant bits
assert_eq!(f, Float::with_val(53, &ln_gamma_64));

Computes the value of the Digamma function on self, rounding to the nearest.

Computes the value of the Digamma function on self, rounding to the nearest.

Computes the value of the Digamma function on self, applying the specified rounding method.

Computes the Digamma function on the value.

Computes the value of the Riemann Zeta function on self, rounding to the nearest.

Computes the value of the Riemann Zeta function on self, rounding to the nearest.

Computes the value of the Riemann Zeta function on self, applying the specified rounding method.

Computes the Riemann Zeta function on the value.

Sets self to the value of the Riemann Zeta function on u, rounding to the nearest.

Sets self to the value of the Riemann Zeta function on u, applying the specified rounding method.

Computes the value of the error function, rounding to the nearest.

Computes the value of the error function, rounding to the nearest.

Computes the value of the error function, applying the specified rounding method.

Computes the error function.

Computes the value of the complementary error function, rounding to the nearest.

Computes the value of the complementary error function, rounding to the nearest.

Computes the value of the complementary error function, applying the specified rounding method.

Computes the complementary error function.

Computes the value of the first kind Bessel function of order 0, rounding to the nearest.

Computes the value of the first kind Bessel function of order 0, rounding to the nearest.

Computes the value of the first kind Bessel function of order 0, applying the specified rounding method.

Computes the first kind Bessel function of order 0.

Computes the value of the first kind Bessel function of order 1, rounding to the nearest.

Computes the value of the first kind Bessel function of order 1, rounding to the nearest.

Computes the value of the first kind Bessel function of order 1, applying the specified rounding method.

Computes the first kind Bessel function of order 1.

Computes the value of the first kind Bessel function of order n, rounding to the nearest.

Computes the value of the first kind Bessel function of order n, rounding to the nearest.

Computes the value of the first kind Bessel function of order n, applying the specified rounding method.

Computes the first kind Bessel function of order n.

Computes the value of the second kind Bessel function of order 0, rounding to the nearest.

Computes the value of the second kind Bessel function of order 0, rounding to the nearest.

Computes the value of the second kind Bessel function of order 0, applying the specified rounding method.

Computes the second kind Bessel function of order 0.

Computes the value of the second kind Bessel function of order 1, rounding to the nearest.

Computes the value of the second kind Bessel function of order 1, rounding to the nearest.

Computes the value of the second kind Bessel function of order 1, applying the specified rounding method.

Computes the second kind Bessel function of order 1.

Computes the value of the second kind Bessel function of order n, rounding to the nearest.

Computes the value of the second kind Bessel function of order n, rounding to the nearest.

Computes the value of the second kind Bessel function of order n, applying the specified rounding method.

Computes the second kind Bessel function of order n.

Computes the arithmetic-geometric mean of self and other, rounding to the nearest.

Computes the arithmetic-geometric mean of self and other, rounding to the nearest.

Computes the arithmetic-geometric mean of self and other, applying the specified rounding method.

Computes the arithmetic-geometric mean.

Computes the Euclidean norm of self and other, rounding to the nearest.

Computes the Euclidean norm of self and other, rounding to the nearest.

Computes the Euclidean norm of self and other, applying the specified rounding method.

Computes the Euclidean norm.

Computes the value of the Airy function Ai on self, rounding to the nearest.

Computes the value of the Airy function Ai on self, rounding to the nearest.

Computes the value of the Airy function Ai on self, applying the specified rounding method.

Computes the Airy function Ai on the value.

Rounds up to the next higher integer.

Rounds up to the next higher integer.

Rounds up to the next higher integer. The result may be rounded again when assigned to the target.

Rounds down to the next lower integer.

Rounds down to the next lower integer.

Rounds down to the next lower integer. The result may be rounded again when assigned to the target.

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

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

Rounds to the nearest integer, rounding half-way cases away from zero. The result may be rounded again when assigned to the target.

Examples

use rug::{AssignRound, Float};
use rug::float::Round;
let f = Float::with_val(53, 6.5);
// 6.5 (binary 110.1) is rounded to 7 (binary 111)
let r = f.round_ref();
// use only 2 bits of precision in destination
let mut dst = Float::new(2);
// 7 (binary 111) is rounded to 8 (binary 1000) by
// round-even rule in order to store in 2-bit Float, even
// though 6 (binary 110) is closer to original 6.5).
dst.assign_round(r, Round::Nearest);
assert_eq!(dst, 8);

Rounds to the next integer towards zero.

Rounds to the next integer towards zero.

Rounds to the next integer towards zero. The result may be rounded again when assigned to the target.

Gets the fractional part of the number.

Gets the fractional part of the number.

Gets the fractional part of the number.

Gets the integer and fractional parts of the number, rounding to the nearest.

The integer part is stored in self and keeps its precision, while the fractional part is stored in fract keeping its precision.

Gets the integer and fractional parts of the number, applying the specified rounding method.

The integer part is stored in self and keeps its precision, while the fractional part is stored in fract keeping its precision.

Gets the integer and fractional parts of the number, rounding to the nearest.

The integer part is stored in self and keeps its precision, while the fractional part is stored in fract keeping its precision.

Gets the integer and fractional parts of the number.

Generates a random number in the range 0 ≤ x < 1.

This is equivalent to generating a random integer in the range 0 ≤ x < 2p, where 2p is two raised to the power of the precision, and then dividing the integer by 2p. The smallest non-zero result will thus be 2p, and will only have one bit set. In the smaller possible results, many bits will be zero, and not all the precision will be used.

Examples

use rug::Float;
use rug::rand::RandState;
let mut rand = RandState::new();
let mut f = Float::new(2);
f.assign_random_bits(&mut rand).unwrap();
assert!(f == 0.0 || f == 0.25 || f == 0.5 || f == 0.75);
println!("0.0 <= {} < 1.0", f);

Errors

In all the normal cases, the result will be exact. However, if the precision is very large, and the generated random number is very small, this may require an exponent smaller than float::exp_min(); in this case, the number is set to Nan and an error is returned. This would most likely be a programming error.

Generates a random number in the continuous range 0 ≤ x < 1, and rounds to the nearest.

The rounded result can actually be equal to one. This is equivalent to calling assign_random_cont_round(rng, Round::Nearest).

Generates a random number in the continous range 0 ≤ x < 1, and applies the specified rounding method.

The rounded result can actually be equal to one. Unlike assign_random_bits_round() which generates a discrete random number at intervals depending on the precision, this method is equivalent to generating a continuous random number with infinite precision and then rounding the result. This means that even the smaller numbers will be using all the available precision bits, and rounding is performed in all cases, not in some corner case.

Examples

use rug::Float;
use rug::float::Round;
use rug::rand::RandState;
use std::cmp::Ordering;
let mut rand = RandState::new();
let mut f = Float::new(2);
let dir = f.assign_random_cont_round(&mut rand, Round::Nearest);
// We cannot have an exact value without rounding.
assert_ne!(dir, Ordering::Equal);
// The significand is either 0b10 or 0b11
//           10          11
assert!(f == 1.0 || f == 0.75 ||
        f == 0.5 || f == 0.375 ||
        f == 0.25 || f <= 0.1875);
// If the result is 1.0, rounding was up.
assert!(f != 1.0 || dir == Ordering::Greater);

Generates two random numbers according to a standard normal Gaussian distribution, rounding to the nearest.

If other is None, only one value is generated.

Generates two random numbers according to a standard normal Gaussian distribution, applying the specified rounding method.

If other is None, only one value is generated.

Trait Implementations

impl Clone for Float
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Drop for Float
[src]

A method called when the value goes out of scope. Read more

impl Display for Float
[src]

Formats the value using the given formatter. Read more

impl Debug for Float
[src]

Formats the value using the given formatter.

impl LowerExp for Float
[src]

Formats the value using the given formatter.

impl UpperExp for Float
[src]

Formats the value using the given formatter.

impl Binary for Float
[src]

Formats the value using the given formatter.

impl Octal for Float
[src]

Formats the value using the given formatter.

impl LowerHex for Float
[src]

Formats the value using the given formatter.

impl UpperHex for Float
[src]

Formats the value using the given formatter.

impl<T> Assign<T> for Float where
    Float: AssignRound<T, Round = Round, Ordering = Ordering>, 
[src]

Peforms the assignement. Read more

impl AssignRound<Constant> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<Special> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<SquareRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<SqrtRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<RecipSqrtRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<CbrtRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<RootRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AbsRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<RecipRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AbsDiffRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<LnRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Log2Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Log10Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<ExpRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Exp2Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Exp10Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<SinRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<CosRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<TanRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<SecRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<CscRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<CotRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AcosRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AsinRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AtanRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Atan2Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<CoshRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<SinhRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<TanhRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<SechRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<CschRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<CothRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AcoshRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AsinhRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AtanhRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Ln1pRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<ExpM1Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<EintRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Li2Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<GammaRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<LnGammaRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<DigammaRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<ZetaRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<ErfRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<ErfcRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<J0Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<J1Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<JnRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Y0Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<Y1Ref<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<YnRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AgmRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<HypotRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<AiRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<CeilRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<FloorRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<RoundRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<TruncRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<FractRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Neg for Float
[src]

The resulting type after applying the - operator

The method for the unary - operator

impl NegAssign for Float
[src]

Peforms the negation. Read more

impl<'a> Neg for &'a Float
[src]

The resulting type after applying the - operator

The method for the unary - operator

impl<'a> AssignRound<NegRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Add<Float> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> Add<&'a Float> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl AddAssign<Float> for Float
[src]

The method for the += operator

impl<'a> AddAssign<&'a Float> for Float
[src]

The method for the += operator

impl AddAssignRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddAssignRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> Add<&'a Float> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Add<Float> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl AddFrom<Float> for Float
[src]

Peforms the addition. Read more

impl<'a> AddFrom<&'a Float> for Float
[src]

Peforms the addition. Read more

impl<'a> AddFromRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddFromRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl Sub<Float> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> Sub<&'a Float> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl SubAssign<Float> for Float
[src]

The method for the -= operator

impl<'a> SubAssign<&'a Float> for Float
[src]

The method for the -= operator

impl SubAssignRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubAssignRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> Sub<&'a Float> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Sub<Float> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl SubFrom<Float> for Float
[src]

Peforms the subtraction. Read more

impl<'a> SubFrom<&'a Float> for Float
[src]

Peforms the subtraction. Read more

impl<'a> SubFromRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubFromRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl Mul<Float> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> Mul<&'a Float> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl MulAssign<Float> for Float
[src]

The method for the *= operator

impl<'a> MulAssign<&'a Float> for Float
[src]

The method for the *= operator

impl MulAssignRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulAssignRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> Mul<&'a Float> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Mul<Float> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl MulFrom<Float> for Float
[src]

Peforms the multiplication. Read more

impl<'a> MulFrom<&'a Float> for Float
[src]

Peforms the multiplication. Read more

impl<'a> MulFromRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulFromRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl Div<Float> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> Div<&'a Float> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl DivAssign<Float> for Float
[src]

The method for the /= operator

impl<'a> DivAssign<&'a Float> for Float
[src]

The method for the /= operator

impl DivAssignRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivAssignRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> Div<&'a Float> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Div<Float> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl DivFrom<Float> for Float
[src]

Peforms the division. Read more

impl<'a> DivFrom<&'a Float> for Float
[src]

Peforms the division. Read more

impl<'a> DivFromRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivFromRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl Pow<Float> for Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> Pow<&'a Float> for Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl PowAssign<Float> for Float
[src]

Peforms the power operation. Read more

impl<'a> PowAssign<&'a Float> for Float
[src]

Peforms the power operation. Read more

impl PowAssignRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> PowAssignRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> Pow<&'a Float> for &'a Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> AssignRound<PowRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Pow<Float> for &'a Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl PowFrom<Float> for Float
[src]

Peforms the power operation. Read more

impl<'a> PowFrom<&'a Float> for Float
[src]

Peforms the power operation. Read more

impl<'a> PowFromRound<Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> PowFromRound<&'a Float> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl Add<Integer> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> Add<&'a Integer> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl AddAssign<Integer> for Float
[src]

The method for the += operator

impl<'a> AddAssign<&'a Integer> for Float
[src]

The method for the += operator

impl AddAssignRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddAssignRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> Add<&'a Integer> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRefInteger<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Add<Integer> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRefIntegerOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AddFrom<Integer> for Float
[src]

Peforms the addition. Read more

impl<'a> AddFrom<&'a Integer> for Float
[src]

Peforms the addition. Read more

impl AddFromRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddFromRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl Sub<Integer> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> Sub<&'a Integer> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl SubAssign<Integer> for Float
[src]

The method for the -= operator

impl<'a> SubAssign<&'a Integer> for Float
[src]

The method for the -= operator

impl SubAssignRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubAssignRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> Sub<&'a Integer> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubRefInteger<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Sub<Integer> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubFromRefInteger<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl SubFrom<Integer> for Float
[src]

Peforms the subtraction. Read more

impl<'a> SubFrom<&'a Integer> for Float
[src]

Peforms the subtraction. Read more

impl SubFromRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubFromRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> AssignRound<SubRefIntegerOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<SubFromRefIntegerOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Mul<Integer> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> Mul<&'a Integer> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl MulAssign<Integer> for Float
[src]

The method for the *= operator

impl<'a> MulAssign<&'a Integer> for Float
[src]

The method for the *= operator

impl MulAssignRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulAssignRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> Mul<&'a Integer> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRefInteger<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Mul<Integer> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRefIntegerOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl MulFrom<Integer> for Float
[src]

Peforms the multiplication. Read more

impl<'a> MulFrom<&'a Integer> for Float
[src]

Peforms the multiplication. Read more

impl MulFromRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulFromRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl Div<Integer> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> Div<&'a Integer> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl DivAssign<Integer> for Float
[src]

The method for the /= operator

impl<'a> DivAssign<&'a Integer> for Float
[src]

The method for the /= operator

impl DivAssignRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivAssignRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> Div<&'a Integer> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivRefInteger<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Div<Integer> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivFromRefInteger<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl DivFrom<Integer> for Float
[src]

Peforms the division. Read more

impl<'a> DivFrom<&'a Integer> for Float
[src]

Peforms the division. Read more

impl DivFromRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivFromRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> AssignRound<DivRefIntegerOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<DivFromRefIntegerOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Pow<Integer> for Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> Pow<&'a Integer> for Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl PowAssign<Integer> for Float
[src]

Peforms the power operation. Read more

impl<'a> PowAssign<&'a Integer> for Float
[src]

Peforms the power operation. Read more

impl PowAssignRound<Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> PowAssignRound<&'a Integer> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> Pow<&'a Integer> for &'a Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> AssignRound<PowRefInteger<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Pow<Integer> for &'a Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> AssignRound<PowRefIntegerOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Add<Rational> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> Add<&'a Rational> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl AddAssign<Rational> for Float
[src]

The method for the += operator

impl<'a> AddAssign<&'a Rational> for Float
[src]

The method for the += operator

impl AddAssignRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddAssignRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> Add<&'a Rational> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRefRational<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Add<Rational> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRefRationalOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AddFrom<Rational> for Float
[src]

Peforms the addition. Read more

impl<'a> AddFrom<&'a Rational> for Float
[src]

Peforms the addition. Read more

impl AddFromRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddFromRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl Sub<Rational> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> Sub<&'a Rational> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl SubAssign<Rational> for Float
[src]

The method for the -= operator

impl<'a> SubAssign<&'a Rational> for Float
[src]

The method for the -= operator

impl SubAssignRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubAssignRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> Sub<&'a Rational> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubRefRational<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Sub<Rational> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubFromRefRational<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl SubFrom<Rational> for Float
[src]

Peforms the subtraction. Read more

impl<'a> SubFrom<&'a Rational> for Float
[src]

Peforms the subtraction. Read more

impl SubFromRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubFromRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> AssignRound<SubRefRationalOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<SubFromRefRationalOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Mul<Rational> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> Mul<&'a Rational> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl MulAssign<Rational> for Float
[src]

The method for the *= operator

impl<'a> MulAssign<&'a Rational> for Float
[src]

The method for the *= operator

impl MulAssignRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulAssignRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> Mul<&'a Rational> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRefRational<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Mul<Rational> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRefRationalOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl MulFrom<Rational> for Float
[src]

Peforms the multiplication. Read more

impl<'a> MulFrom<&'a Rational> for Float
[src]

Peforms the multiplication. Read more

impl MulFromRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulFromRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl Div<Rational> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> Div<&'a Rational> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl DivAssign<Rational> for Float
[src]

The method for the /= operator

impl<'a> DivAssign<&'a Rational> for Float
[src]

The method for the /= operator

impl DivAssignRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivAssignRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> Div<&'a Rational> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivRefRational<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Div<Rational> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivFromRefRational<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl DivFrom<Rational> for Float
[src]

Peforms the division. Read more

impl<'a> DivFrom<&'a Rational> for Float
[src]

Peforms the division. Read more

impl DivFromRound<Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivFromRound<&'a Rational> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> AssignRound<DivRefRationalOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<DivFromRefRationalOwn<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Add<i32> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl AddAssign<i32> for Float
[src]

The method for the += operator

impl<'a> Add<i32> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AddAssignRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddFrom<i32> for Float
[src]

Peforms the addition. Read more

impl<'a> AddFromRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl Sub<i32> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl SubAssign<i32> for Float
[src]

The method for the -= operator

impl<'a> Sub<i32> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl SubAssignRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubFrom<i32> for Float
[src]

Peforms the subtraction. Read more

impl<'a> SubFromRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> AssignRound<SubFromRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Mul<i32> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl MulAssign<i32> for Float
[src]

The method for the *= operator

impl<'a> Mul<i32> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl MulAssignRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulFrom<i32> for Float
[src]

Peforms the multiplication. Read more

impl<'a> MulFromRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl Div<i32> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl DivAssign<i32> for Float
[src]

The method for the /= operator

impl<'a> Div<i32> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl DivAssignRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivFrom<i32> for Float
[src]

Peforms the division. Read more

impl<'a> DivFromRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> AssignRound<DivFromRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<i64> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Add<u32> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl AddAssign<u32> for Float
[src]

The method for the += operator

impl<'a> Add<u32> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AddAssignRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddFrom<u32> for Float
[src]

Peforms the addition. Read more

impl<'a> AddFromRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl Sub<u32> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl SubAssign<u32> for Float
[src]

The method for the -= operator

impl<'a> Sub<u32> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl SubAssignRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubFrom<u32> for Float
[src]

Peforms the subtraction. Read more

impl<'a> SubFromRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> AssignRound<SubFromRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Mul<u32> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl MulAssign<u32> for Float
[src]

The method for the *= operator

impl<'a> Mul<u32> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl MulAssignRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulFrom<u32> for Float
[src]

Peforms the multiplication. Read more

impl<'a> MulFromRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl Div<u32> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl DivAssign<u32> for Float
[src]

The method for the /= operator

impl<'a> Div<u32> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl DivAssignRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivFrom<u32> for Float
[src]

Peforms the division. Read more

impl<'a> DivFromRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> AssignRound<DivFromRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<u64> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Add<f32> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl AddAssign<f32> for Float
[src]

The method for the += operator

impl<'a> Add<f32> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRefF32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AddAssignRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddFrom<f32> for Float
[src]

Peforms the addition. Read more

impl<'a> AddFromRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl Sub<f32> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl SubAssign<f32> for Float
[src]

The method for the -= operator

impl<'a> Sub<f32> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubRefF32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl SubAssignRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubFrom<f32> for Float
[src]

Peforms the subtraction. Read more

impl<'a> SubFromRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> AssignRound<SubFromRefF32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Mul<f32> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl MulAssign<f32> for Float
[src]

The method for the *= operator

impl<'a> Mul<f32> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRefF32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl MulAssignRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulFrom<f32> for Float
[src]

Peforms the multiplication. Read more

impl<'a> MulFromRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl Div<f32> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl DivAssign<f32> for Float
[src]

The method for the /= operator

impl<'a> Div<f32> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivRefF32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl DivAssignRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivFrom<f32> for Float
[src]

Peforms the division. Read more

impl<'a> DivFromRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> AssignRound<DivFromRefF32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AssignRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Add<f64> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl AddAssign<f64> for Float
[src]

The method for the += operator

impl<'a> Add<f64> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> AssignRound<AddRefF64<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl AddAssignRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl<'a> AddFrom<f64> for Float
[src]

Peforms the addition. Read more

impl<'a> AddFromRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the addition. Read more

impl Sub<f64> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl SubAssign<f64> for Float
[src]

The method for the -= operator

impl<'a> Sub<f64> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> AssignRound<SubRefF64<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl SubAssignRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> SubFrom<f64> for Float
[src]

Peforms the subtraction. Read more

impl<'a> SubFromRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the subtraction. Read more

impl<'a> AssignRound<SubFromRefF64<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Mul<f64> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl MulAssign<f64> for Float
[src]

The method for the *= operator

impl<'a> Mul<f64> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> AssignRound<MulRefF64<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl MulAssignRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl<'a> MulFrom<f64> for Float
[src]

Peforms the multiplication. Read more

impl<'a> MulFromRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the multiplication. Read more

impl Div<f64> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl DivAssign<f64> for Float
[src]

The method for the /= operator

impl<'a> Div<f64> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> AssignRound<DivRefF64<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl DivAssignRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> DivFrom<f64> for Float
[src]

Peforms the division. Read more

impl<'a> DivFromRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the division. Read more

impl<'a> AssignRound<DivFromRefF64<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Shl<u32> for Float
[src]

The resulting type after applying the << operator

The method for the << operator

impl ShlAssign<u32> for Float
[src]

The method for the <<= operator

impl<'a> Shl<u32> for &'a Float
[src]

The resulting type after applying the << operator

The method for the << operator

impl<'a> AssignRound<ShlRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Shr<u32> for Float
[src]

The resulting type after applying the >> operator

The method for the >> operator

impl ShrAssign<u32> for Float
[src]

The method for the >>= operator

impl<'a> Shr<u32> for &'a Float
[src]

The resulting type after applying the >> operator

The method for the >> operator

impl<'a> AssignRound<ShrRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Pow<u32> for Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl PowAssign<u32> for Float
[src]

Peforms the power operation. Read more

impl<'a> Pow<u32> for &'a Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> AssignRound<PowRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl PowAssignRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> PowFrom<u32> for Float
[src]

Peforms the power operation. Read more

impl<'a> PowFromRound<u32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> AssignRound<PowFromRefU32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Shl<i32> for Float
[src]

The resulting type after applying the << operator

The method for the << operator

impl ShlAssign<i32> for Float
[src]

The method for the <<= operator

impl<'a> Shl<i32> for &'a Float
[src]

The resulting type after applying the << operator

The method for the << operator

impl<'a> AssignRound<ShlRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Shr<i32> for Float
[src]

The resulting type after applying the >> operator

The method for the >> operator

impl ShrAssign<i32> for Float
[src]

The method for the >>= operator

impl<'a> Shr<i32> for &'a Float
[src]

The resulting type after applying the >> operator

The method for the >> operator

impl<'a> AssignRound<ShrRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Pow<i32> for Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl PowAssign<i32> for Float
[src]

Peforms the power operation. Read more

impl<'a> Pow<i32> for &'a Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> AssignRound<PowRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl PowAssignRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> PowFrom<i32> for Float
[src]

Peforms the power operation. Read more

impl<'a> PowFromRound<i32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> AssignRound<PowFromRefI32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Pow<f64> for Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl PowAssign<f64> for Float
[src]

Peforms the power operation. Read more

impl<'a> Pow<f64> for &'a Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> AssignRound<PowRefF64<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl PowAssignRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> PowFrom<f64> for Float
[src]

Peforms the power operation. Read more

impl<'a> PowFromRound<f64> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> AssignRound<PowFromRefF64<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Pow<f32> for Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl PowAssign<f32> for Float
[src]

Peforms the power operation. Read more

impl<'a> Pow<f32> for &'a Float
[src]

The resulting type after the power operation.

Performs the power operation. Read more

impl<'a> AssignRound<PowRefF32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl PowAssignRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> PowFrom<f32> for Float
[src]

Peforms the power operation. Read more

impl<'a> PowFromRound<f32> for Float
[src]

The rounding method.

The direction from rounding.

Performs the power operation. Read more

impl<'a> AssignRound<PowFromRefF32<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> Add<MulRef<'a>> for Float
[src]

The resulting type after applying the + operator

Peforms multiplication and addition together, with only one rounding operation to the nearest.

impl<'a> AddAssign<MulRef<'a>> for Float
[src]

Peforms multiplication and addition together, with only one rounding operation to the nearest.

impl<'a> AddAssignRound<MulRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms multiplication and addition together with only one rounding operation as specified.

impl PartialEq for Float
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialOrd for Float
[src]

Returns the ordering of self and other, or None if one (or both) of them is a NaN.

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<Integer> for Float
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialOrd<Integer> for Float
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<Rational> for Float
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialOrd<Rational> for Float
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<u32> for Float
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialOrd<u32> for Float
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<i32> for Float
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialOrd<i32> for Float
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<f64> for Float
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialOrd<f64> for Float
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl PartialEq<f32> for Float
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl PartialOrd<f32> for Float
[src]

This method returns an ordering between self and other values if one exists. Read more

This method tests less than (for self and other) and is used by the < operator. Read more

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

This method tests greater than (for self and other) and is used by the > operator. Read more

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<'a> AssignRound<ValidFloat<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Send for Float
[src]

impl Sync for Float
[src]

impl<'a> AssignRound<AbsRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<ArgRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl<'a> AssignRound<NormRef<'a>> for Float
[src]

The rounding method.

The direction from rounding.

Peforms the assignment. Read more

impl Add<Complex> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> Add<Complex> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> Add<&'a Complex> for Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl<'a> Add<&'a Complex> for &'a Float
[src]

The resulting type after applying the + operator

The method for the + operator

impl Sub<Complex> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> Sub<Complex> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> Sub<&'a Complex> for Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl<'a> Sub<&'a Complex> for &'a Float
[src]

The resulting type after applying the - operator

The method for the - operator

impl Mul<Complex> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> Mul<Complex> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> Mul<&'a Complex> for Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl<'a> Mul<&'a Complex> for &'a Float
[src]

The resulting type after applying the * operator

The method for the * operator

impl Div<Complex> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> Div<Complex> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> Div<&'a Complex> for Float
[src]

The resulting type after applying the / operator

The method for the / operator

impl<'a> Div<&'a Complex> for &'a Float
[src]

The resulting type after applying the / operator

The method for the / operator