Primitive Type f64
[-] [+]
Operations and constants for 64-bits floats (f64
type)
Trait Implementations
impl Float for f64
fn nan() -> f64
fn infinity() -> f64
fn neg_infinity() -> f64
fn zero() -> f64
fn neg_zero() -> f64
fn one() -> f64
fn is_nan(self) -> bool
Returns true
if the number is NaN.
fn is_infinite(self) -> bool
Returns true
if the number is infinite.
fn is_finite(self) -> bool
Returns true
if the number is neither infinite or NaN.
fn is_normal(self) -> bool
Returns true
if the number is neither zero, infinite, subnormal or NaN.
fn classify(self) -> FpCategory
Returns the floating point category of the number. If only one property is going to be tested, it is generally faster to use the specific predicate instead.
fn mantissa_digits(Option<f64>) -> usize
fn digits(Option<f64>) -> usize
fn epsilon() -> f64
fn min_exp(Option<f64>) -> isize
fn max_exp(Option<f64>) -> isize
fn min_10_exp(Option<f64>) -> isize
fn max_10_exp(Option<f64>) -> isize
fn min_value() -> f64
fn min_pos_value(Option<f64>) -> f64
fn max_value() -> f64
fn integer_decode(self) -> (u64, i16, i8)
Returns the mantissa, exponent and sign as integers.
fn floor(self) -> f64
Rounds towards minus infinity.
fn ceil(self) -> f64
Rounds towards plus infinity.
fn round(self) -> f64
Rounds to nearest integer. Rounds half-way cases away from zero.
fn trunc(self) -> f64
Returns the integer part of the number (rounds towards zero).
fn fract(self) -> f64
The fractional part of the number, satisfying:
fn main() { use core::num::Float; let x = 1.65f64; assert!(x == x.trunc() + x.fract()) }use core::num::Float; let x = 1.65f64; assert!(x == x.trunc() + x.fract())
fn abs(self) -> f64
Computes the absolute value of self
. Returns Float::nan()
if the
number is Float::nan()
.
fn signum(self) -> f64
Returns a number that represents the sign of self
.
1.0
if the number is positive,+0.0
orFloat::infinity()
-1.0
if the number is negative,-0.0
orFloat::neg_infinity()
Float::nan()
if the number isFloat::nan()
fn is_positive(self) -> bool
Returns true
if self
is positive, including +0.0
and
Float::infinity()
.
fn is_negative(self) -> bool
Returns true
if self
is negative, including -0.0
and
Float::neg_infinity()
.
fn mul_add(self, a: f64, b: f64) -> f64
Fused multiply-add. Computes (self * a) + b
with only one rounding
error. This produces a more accurate result with better performance than
a separate multiplication operation followed by an add.
fn recip(self) -> f64
Returns the reciprocal (multiplicative inverse) of the number.
fn powf(self, n: f64) -> f64
fn powi(self, n: i32) -> f64
fn sqrt(self) -> f64
fn rsqrt(self) -> f64
fn exp(self) -> f64
Returns the exponential of the number.
fn exp2(self) -> f64
Returns 2 raised to the power of the number.
fn ln(self) -> f64
Returns the natural logarithm of the number.
fn log(self, base: f64) -> f64
Returns the logarithm of the number with respect to an arbitrary base.
fn log2(self) -> f64
Returns the base 2 logarithm of the number.
fn log10(self) -> f64
Returns the base 10 logarithm of the number.
fn to_degrees(self) -> f64
Converts to degrees, assuming the number is in radians.
fn to_radians(self) -> f64
Converts to radians, assuming the number is in degrees.
impl ToPrimitive for f64
fn to_int(&self) -> Option<isize>
fn to_i8(&self) -> Option<i8>
fn to_i16(&self) -> Option<i16>
fn to_i32(&self) -> Option<i32>
fn to_i64(&self) -> Option<i64>
fn to_uint(&self) -> Option<usize>
fn to_u8(&self) -> Option<u8>
fn to_u16(&self) -> Option<u16>
fn to_u32(&self) -> Option<u32>
fn to_u64(&self) -> Option<u64>
fn to_f32(&self) -> Option<f32>
fn to_f64(&self) -> Option<f64>
fn to_int(&self) -> Option<isize>
fn to_i8(&self) -> Option<i8>
fn to_i16(&self) -> Option<i16>
fn to_i32(&self) -> Option<i32>
fn to_uint(&self) -> Option<usize>
fn to_u8(&self) -> Option<u8>
fn to_u16(&self) -> Option<u16>
fn to_u32(&self) -> Option<u32>
fn to_f32(&self) -> Option<f32>
fn to_f64(&self) -> Option<f64>
impl FromPrimitive for f64
fn from_int(n: isize) -> Option<f64>
fn from_i8(n: i8) -> Option<f64>
fn from_i16(n: i16) -> Option<f64>
fn from_i32(n: i32) -> Option<f64>
fn from_i64(n: i64) -> Option<f64>
fn from_uint(n: usize) -> Option<f64>
fn from_u8(n: u8) -> Option<f64>
fn from_u16(n: u16) -> Option<f64>
fn from_u32(n: u32) -> Option<f64>
fn from_u64(n: u64) -> Option<f64>
fn from_f32(n: f32) -> Option<f64>
fn from_f64(n: f64) -> Option<f64>
fn from_int(isize) -> Option<f64>
fn from_i8(i8) -> Option<f64>
fn from_i16(i16) -> Option<f64>
fn from_i32(i32) -> Option<f64>
fn from_uint(usize) -> Option<f64>
fn from_u8(u8) -> Option<f64>
fn from_u16(u16) -> Option<f64>
fn from_u32(u32) -> Option<f64>
fn from_f32(f32) -> Option<f64>
fn from_f64(f64) -> Option<f64>
impl NumCast for f64
fn from<N>(n: N) -> Option<f64> where N: ToPrimitive
impl FromStr for f64
type Err = ParseFloatError
fn from_str(src: &str) -> Result<f64, ParseFloatError>
Convert a string in base 10 to a float. Accepts an optional decimal exponent.
This function accepts strings such as
- '3.14'
- '+3.14', equivalent to '3.14'
- '-3.14'
- '2.5E10', or equivalently, '2.5e10'
- '2.5E-10'
- '.' (understood as 0)
- '5.'
- '.5', or, equivalently, '0.5'
- '+inf', 'inf', '-inf', 'NaN'
Leading and trailing whitespace represent an error.
Arguments
- src - A string
Return value
None
if the string did not represent a valid number. Otherwise,
Some(n)
where n
is the floating-point number represented by src
.
impl FromStrRadix for f64
type Err = ParseFloatError
fn from_str_radix(src: &str, radix: u32) -> Result<f64, ParseFloatError>
Convert a string in a given base to a float.
Due to possible conflicts, this function does not accept
the special values inf
, -inf
, +inf
and NaN
, nor
does it recognize exponents of any kind.
Leading and trailing whitespace represent an error.
Arguments
- src - A string
- radix - The base to use. Must lie in the range [2 .. 36]
Return value
None
if the string did not represent a valid number.
Otherwise, Some(n)
where n
is the floating-point number
represented by src
.
impl Add<f64> for f64
impl<'a> Add<f64> for &'a f64
impl<'a> Add<&'a f64> for f64
impl<'a, 'b> Add<&'a f64> for &'b f64
impl Sub<f64> for f64
impl<'a> Sub<f64> for &'a f64
impl<'a> Sub<&'a f64> for f64
impl<'a, 'b> Sub<&'a f64> for &'b f64
impl Mul<f64> for f64
impl<'a> Mul<f64> for &'a f64
impl<'a> Mul<&'a f64> for f64
impl<'a, 'b> Mul<&'a f64> for &'b f64
impl Div<f64> for f64
impl<'a> Div<f64> for &'a f64
impl<'a> Div<&'a f64> for f64
impl<'a, 'b> Div<&'a f64> for &'b f64
impl Rem<f64> for f64
impl<'a> Rem<f64> for &'a f64
impl<'a> Rem<&'a f64> for f64
impl<'a, 'b> Rem<&'a f64> for &'b f64
impl Neg for f64
impl<'a> Neg for &'a f64
impl PartialEq<f64> for f64
impl PartialOrd<f64> for f64
fn partial_cmp(&self, other: &f64) -> Option<Ordering>
fn lt(&self, other: &f64) -> bool
fn le(&self, other: &f64) -> bool
fn ge(&self, other: &f64) -> bool
fn gt(&self, other: &f64) -> bool
fn lt(&self, &f64) -> bool
fn le(&self, &f64) -> bool
fn gt(&self, &f64) -> bool
fn ge(&self, &f64) -> bool
impl Clone for f64
impl Default for f64
impl Debug for f64
impl Display for f64
impl LowerExp for f64
impl UpperExp for f64
impl Float for f64
fn nan() -> f64
fn infinity() -> f64
fn neg_infinity() -> f64
fn zero() -> f64
fn neg_zero() -> f64
fn one() -> f64
fn mantissa_digits(unused_self: Option<f64>) -> usize
fn digits(unused_self: Option<f64>) -> usize
fn epsilon() -> f64
fn min_exp(unused_self: Option<f64>) -> isize
fn max_exp(unused_self: Option<f64>) -> isize
fn min_10_exp(unused_self: Option<f64>) -> isize
fn max_10_exp(unused_self: Option<f64>) -> isize
fn min_value() -> f64
fn min_pos_value(unused_self: Option<f64>) -> f64
fn max_value() -> f64
fn is_nan(self) -> bool
fn is_infinite(self) -> bool
fn is_finite(self) -> bool
fn is_normal(self) -> bool
fn classify(self) -> FpCategory
fn integer_decode(self) -> (u64, i16, i8)
fn floor(self) -> f64
fn ceil(self) -> f64
fn round(self) -> f64
fn trunc(self) -> f64
fn fract(self) -> f64
fn abs(self) -> f64
fn signum(self) -> f64
fn is_positive(self) -> bool
fn is_negative(self) -> bool
fn mul_add(self, a: f64, b: f64) -> f64
fn recip(self) -> f64
fn powi(self, n: i32) -> f64
fn powf(self, n: f64) -> f64
fn sqrt(self) -> f64
fn rsqrt(self) -> f64
fn exp(self) -> f64
fn exp2(self) -> f64
fn ln(self) -> f64
fn log(self, base: f64) -> f64
fn log2(self) -> f64
fn log10(self) -> f64
fn to_degrees(self) -> f64
fn to_radians(self) -> f64
fn ldexp(x: f64, exp: isize) -> f64
fn frexp(self) -> (f64, isize)
Breaks the number into a normalized fraction and a base-2 exponent, satisfying:
self = x * pow(2, exp)
0.5 <= abs(x) < 1.0
fn next_after(self, other: f64) -> f64
Returns the next representable floating-point value in the direction of
other
.
fn max(self, other: f64) -> f64
fn min(self, other: f64) -> f64
fn abs_sub(self, other: f64) -> f64
fn cbrt(self) -> f64
fn hypot(self, other: f64) -> f64
fn sin(self) -> f64
fn cos(self) -> f64
fn tan(self) -> f64
fn asin(self) -> f64
fn acos(self) -> f64
fn atan(self) -> f64
fn atan2(self, other: f64) -> f64
fn sin_cos(self) -> (f64, f64)
Simultaneously computes the sine and cosine of the number
fn exp_m1(self) -> f64
Returns the exponential of the number, minus 1
, in a way that is
accurate even if the number is close to zero
fn ln_1p(self) -> f64
Returns the natural logarithm of the number plus 1
(ln(1+n)
) more
accurately than if the operations were performed separately
fn sinh(self) -> f64
fn cosh(self) -> f64
fn tanh(self) -> f64
fn asinh(self) -> f64
Inverse hyperbolic sine
Returns
- on success, the inverse hyperbolic sine of
self
will be returned self
ifself
is0.0
,-0.0
,INFINITY
, orNEG_INFINITY
NAN
ifself
isNAN
fn acosh(self) -> f64
Inverse hyperbolic cosine
Returns
- on success, the inverse hyperbolic cosine of
self
will be returned INFINITY
ifself
isINFINITY
NAN
ifself
isNAN
orself < 1.0
(includingNEG_INFINITY
)
fn atanh(self) -> f64
Inverse hyperbolic tangent
Returns
- on success, the inverse hyperbolic tangent of
self
will be returned self
ifself
is0.0
or-0.0
INFINITY
ifself
is1.0
NEG_INFINITY
ifself
is-1.0
NAN
if theself
isNAN
or outside the domain of-1.0 <= self <= 1.0
(includingINFINITY
andNEG_INFINITY
)