doc: show that f32::log and f64::log are not correctly rounded
This commit is contained in:
parent
b5392f5450
commit
0eba4c206a
2 changed files with 18 additions and 20 deletions
|
|
@ -470,22 +470,21 @@ impl f32 {
|
|||
return unsafe { intrinsics::logf32(self) };
|
||||
}
|
||||
|
||||
/// Returns the logarithm of the number with respect to an arbitrary base.
|
||||
/// Returns the logarithm of the number with respect to an arbitrary base,
|
||||
/// calculated as `self.ln() / base.ln()`.
|
||||
///
|
||||
/// `self.log2()` can produce more accurate results for base 2, and
|
||||
/// `self.log10()` can produce more accurate results for base 10.
|
||||
///
|
||||
/// ```
|
||||
/// use std::f32;
|
||||
///
|
||||
/// let ten = 10.0f32;
|
||||
/// let two = 2.0f32;
|
||||
/// let five = 5.0f32;
|
||||
///
|
||||
/// // log10(10) - 1 == 0
|
||||
/// let abs_difference_10 = (ten.log(10.0) - 1.0).abs();
|
||||
/// // log5(5) - 1 == 0
|
||||
/// let abs_difference = (five.log(5.0) - 1.0).abs();
|
||||
///
|
||||
/// // log2(2) - 1 == 0
|
||||
/// let abs_difference_2 = (two.log(2.0) - 1.0).abs();
|
||||
///
|
||||
/// assert!(abs_difference_10 <= f32::EPSILON);
|
||||
/// assert!(abs_difference_2 <= f32::EPSILON);
|
||||
/// assert!(abs_difference <= f32::EPSILON);
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[inline]
|
||||
|
|
|
|||
|
|
@ -430,20 +430,19 @@ impl f64 {
|
|||
self.log_wrapper(|n| { unsafe { intrinsics::logf64(n) } })
|
||||
}
|
||||
|
||||
/// Returns the logarithm of the number with respect to an arbitrary base.
|
||||
/// Returns the logarithm of the number with respect to an arbitrary base,
|
||||
/// calculated as `self.ln() / base.ln()`.
|
||||
///
|
||||
/// `self.log2()` can produce more accurate results for base 2, and
|
||||
/// `self.log10()` can produce more accurate results for base 10.
|
||||
///
|
||||
/// ```
|
||||
/// let ten = 10.0_f64;
|
||||
/// let two = 2.0_f64;
|
||||
/// let five = 5.0_f64;
|
||||
///
|
||||
/// // log10(10) - 1 == 0
|
||||
/// let abs_difference_10 = (ten.log(10.0) - 1.0).abs();
|
||||
/// // log5(5) - 1 == 0
|
||||
/// let abs_difference = (five.log(5.0) - 1.0).abs();
|
||||
///
|
||||
/// // log2(2) - 1 == 0
|
||||
/// let abs_difference_2 = (two.log(2.0) - 1.0).abs();
|
||||
///
|
||||
/// assert!(abs_difference_10 < 1e-10);
|
||||
/// assert!(abs_difference_2 < 1e-10);
|
||||
/// assert!(abs_difference < 1e-10);
|
||||
/// ```
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[inline]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue