Rollup merge of #77099 - tspiteri:exp_m1-examples, r=m-ou-se
make exp_m1 and ln_1p examples more representative of use With this PR, the examples for `exp_m1` would fail if `x.exp() - 1.0` is used instead of `x.exp_m1()`, and the examples for `ln_1p` would fail if `(x + 1.0).ln()` is used instead of `x.ln_1p()`.
This commit is contained in:
commit
4ebd5536b4
@ -719,12 +719,13 @@ impl f32 {
|
|||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// let x = 6.0f32;
|
/// let x = 1e-8_f32;
|
||||||
///
|
///
|
||||||
/// // e^(ln(6)) - 1
|
/// // for very small x, e^x is approximately 1 + x + x^2 / 2
|
||||||
/// let abs_difference = (x.ln().exp_m1() - 5.0).abs();
|
/// let approx = x + x * x / 2.0;
|
||||||
|
/// let abs_difference = (x.exp_m1() - approx).abs();
|
||||||
///
|
///
|
||||||
/// assert!(abs_difference <= f32::EPSILON);
|
/// assert!(abs_difference < 1e-10);
|
||||||
/// ```
|
/// ```
|
||||||
#[must_use = "method returns a new number and does not mutate the original value"]
|
#[must_use = "method returns a new number and does not mutate the original value"]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
@ -739,12 +740,13 @@ impl f32 {
|
|||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// let x = std::f32::consts::E - 1.0;
|
/// let x = 1e-8_f32;
|
||||||
///
|
///
|
||||||
/// // ln(1 + (e - 1)) == ln(e) == 1
|
/// // for very small x, ln(1 + x) is approximately x - x^2 / 2
|
||||||
/// let abs_difference = (x.ln_1p() - 1.0).abs();
|
/// let approx = x - x * x / 2.0;
|
||||||
|
/// let abs_difference = (x.ln_1p() - approx).abs();
|
||||||
///
|
///
|
||||||
/// assert!(abs_difference <= f32::EPSILON);
|
/// assert!(abs_difference < 1e-10);
|
||||||
/// ```
|
/// ```
|
||||||
#[must_use = "method returns a new number and does not mutate the original value"]
|
#[must_use = "method returns a new number and does not mutate the original value"]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
@ -721,12 +721,13 @@ impl f64 {
|
|||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// let x = 7.0_f64;
|
/// let x = 1e-16_f64;
|
||||||
///
|
///
|
||||||
/// // e^(ln(7)) - 1
|
/// // for very small x, e^x is approximately 1 + x + x^2 / 2
|
||||||
/// let abs_difference = (x.ln().exp_m1() - 6.0).abs();
|
/// let approx = x + x * x / 2.0;
|
||||||
|
/// let abs_difference = (x.exp_m1() - approx).abs();
|
||||||
///
|
///
|
||||||
/// assert!(abs_difference < 1e-10);
|
/// assert!(abs_difference < 1e-20);
|
||||||
/// ```
|
/// ```
|
||||||
#[must_use = "method returns a new number and does not mutate the original value"]
|
#[must_use = "method returns a new number and does not mutate the original value"]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
@ -741,12 +742,13 @@ impl f64 {
|
|||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
/// ```
|
/// ```
|
||||||
/// let x = std::f64::consts::E - 1.0;
|
/// let x = 1e-16_f64;
|
||||||
///
|
///
|
||||||
/// // ln(1 + (e - 1)) == ln(e) == 1
|
/// // for very small x, ln(1 + x) is approximately x - x^2 / 2
|
||||||
/// let abs_difference = (x.ln_1p() - 1.0).abs();
|
/// let approx = x - x * x / 2.0;
|
||||||
|
/// let abs_difference = (x.ln_1p() - approx).abs();
|
||||||
///
|
///
|
||||||
/// assert!(abs_difference < 1e-10);
|
/// assert!(abs_difference < 1e-20);
|
||||||
/// ```
|
/// ```
|
||||||
#[must_use = "method returns a new number and does not mutate the original value"]
|
#[must_use = "method returns a new number and does not mutate the original value"]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
|
Loading…
Reference in New Issue
Block a user