Rollup merge of #124667 - newpavlov:stabilize_div_duration, r=jhpratt
Stabilize `div_duration` Closes #63139
This commit is contained in:
commit
80aea305d3
2 changed files with 8 additions and 7 deletions
|
@ -1084,40 +1084,42 @@ impl Duration {
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// #![feature(div_duration)]
|
|
||||||
/// use std::time::Duration;
|
/// use std::time::Duration;
|
||||||
///
|
///
|
||||||
/// let dur1 = Duration::new(2, 700_000_000);
|
/// let dur1 = Duration::new(2, 700_000_000);
|
||||||
/// let dur2 = Duration::new(5, 400_000_000);
|
/// let dur2 = Duration::new(5, 400_000_000);
|
||||||
/// assert_eq!(dur1.div_duration_f64(dur2), 0.5);
|
/// assert_eq!(dur1.div_duration_f64(dur2), 0.5);
|
||||||
/// ```
|
/// ```
|
||||||
#[unstable(feature = "div_duration", issue = "63139")]
|
#[stable(feature = "div_duration", since = "CURRENT_RUSTC_VERSION")]
|
||||||
#[must_use = "this returns the result of the operation, \
|
#[must_use = "this returns the result of the operation, \
|
||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline]
|
#[inline]
|
||||||
#[rustc_const_unstable(feature = "duration_consts_float", issue = "72440")]
|
#[rustc_const_unstable(feature = "duration_consts_float", issue = "72440")]
|
||||||
pub const fn div_duration_f64(self, rhs: Duration) -> f64 {
|
pub const fn div_duration_f64(self, rhs: Duration) -> f64 {
|
||||||
self.as_secs_f64() / rhs.as_secs_f64()
|
let self_nanos = (self.secs as f64) * (NANOS_PER_SEC as f64) + (self.nanos.0 as f64);
|
||||||
|
let rhs_nanos = (rhs.secs as f64) * (NANOS_PER_SEC as f64) + (rhs.nanos.0 as f64);
|
||||||
|
self_nanos / rhs_nanos
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Divide `Duration` by `Duration` and return `f32`.
|
/// Divide `Duration` by `Duration` and return `f32`.
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
/// ```
|
/// ```
|
||||||
/// #![feature(div_duration)]
|
|
||||||
/// use std::time::Duration;
|
/// use std::time::Duration;
|
||||||
///
|
///
|
||||||
/// let dur1 = Duration::new(2, 700_000_000);
|
/// let dur1 = Duration::new(2, 700_000_000);
|
||||||
/// let dur2 = Duration::new(5, 400_000_000);
|
/// let dur2 = Duration::new(5, 400_000_000);
|
||||||
/// assert_eq!(dur1.div_duration_f32(dur2), 0.5);
|
/// assert_eq!(dur1.div_duration_f32(dur2), 0.5);
|
||||||
/// ```
|
/// ```
|
||||||
#[unstable(feature = "div_duration", issue = "63139")]
|
#[stable(feature = "div_duration", since = "CURRENT_RUSTC_VERSION")]
|
||||||
#[must_use = "this returns the result of the operation, \
|
#[must_use = "this returns the result of the operation, \
|
||||||
without modifying the original"]
|
without modifying the original"]
|
||||||
#[inline]
|
#[inline]
|
||||||
#[rustc_const_unstable(feature = "duration_consts_float", issue = "72440")]
|
#[rustc_const_unstable(feature = "duration_consts_float", issue = "72440")]
|
||||||
pub const fn div_duration_f32(self, rhs: Duration) -> f32 {
|
pub const fn div_duration_f32(self, rhs: Duration) -> f32 {
|
||||||
self.as_secs_f32() / rhs.as_secs_f32()
|
let self_nanos = (self.secs as f32) * (NANOS_PER_SEC as f32) + (self.nanos.0 as f32);
|
||||||
|
let rhs_nanos = (rhs.secs as f32) * (NANOS_PER_SEC as f32) + (rhs.nanos.0 as f32);
|
||||||
|
self_nanos / rhs_nanos
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
#![feature(core_private_bignum)]
|
#![feature(core_private_bignum)]
|
||||||
#![feature(core_private_diy_float)]
|
#![feature(core_private_diy_float)]
|
||||||
#![feature(dec2flt)]
|
#![feature(dec2flt)]
|
||||||
#![feature(div_duration)]
|
|
||||||
#![feature(duration_abs_diff)]
|
#![feature(duration_abs_diff)]
|
||||||
#![feature(duration_consts_float)]
|
#![feature(duration_consts_float)]
|
||||||
#![feature(duration_constants)]
|
#![feature(duration_constants)]
|
||||||
|
|
Loading…
Add table
Reference in a new issue