File tree Expand file tree Collapse file tree 4 files changed +40
-6
lines changed Expand file tree Collapse file tree 4 files changed +40
-6
lines changed Original file line number Diff line number Diff line change @@ -324,6 +324,18 @@ impl f128 {
324324 ///
325325 /// The precision of this function is non-deterministic. This means it varies by platform,
326326 /// Rust version, and can even differ within the same execution from one invocation to the next.
327+ ///
328+ /// # Examples
329+ ///
330+ /// ```
331+ /// #![feature(f128)]
332+ ///
333+ /// let x = 2.0_f128;
334+ /// let abs_difference = (x.powi(2) - (x * x)).abs();
335+ /// assert!(abs_difference <= f128::EPSILON);
336+ ///
337+ /// assert_eq!(f128::powi(f128::NAN, 0), 1.0);
338+ /// ```
327339 #[ inline]
328340 #[ rustc_allow_incoherent_impl]
329341 #[ unstable( feature = "f128" , issue = "116909" ) ]
@@ -347,8 +359,10 @@ impl f128 {
347359 ///
348360 /// let x = 2.0_f128;
349361 /// let abs_difference = (x.powf(2.0) - (x * x)).abs();
350- ///
351362 /// assert!(abs_difference <= f128::EPSILON);
363+ ///
364+ /// assert_eq!(f128::powf(1.0, f128::NAN), 1.0);
365+ /// assert_eq!(f128::powf(f128::NAN, 0.0), 1.0);
352366 /// # }
353367 /// ```
354368 #[ inline]
Original file line number Diff line number Diff line change @@ -324,6 +324,18 @@ impl f16 {
324324 ///
325325 /// The precision of this function is non-deterministic. This means it varies by platform,
326326 /// Rust version, and can even differ within the same execution from one invocation to the next.
327+ ///
328+ /// # Examples
329+ ///
330+ /// ```
331+ /// #![feature(f16)]
332+ ///
333+ /// let x = 2.0_f16;
334+ /// let abs_difference = (x.powi(2) - (x * x)).abs();
335+ /// assert!(abs_difference <= f16::EPSILON);
336+ ///
337+ /// assert_eq!(f16::powi(f16::NAN, 0), 1.0);
338+ /// ```
327339 #[ inline]
328340 #[ rustc_allow_incoherent_impl]
329341 #[ unstable( feature = "f16" , issue = "116909" ) ]
@@ -347,8 +359,10 @@ impl f16 {
347359 ///
348360 /// let x = 2.0_f16;
349361 /// let abs_difference = (x.powf(2.0) - (x * x)).abs();
350- ///
351362 /// assert!(abs_difference <= f16::EPSILON);
363+ ///
364+ /// assert_eq!(f16::powf(1.0, f16::NAN), 1.0);
365+ /// assert_eq!(f16::powf(f16::NAN, 0.0), 1.0);
352366 /// # }
353367 /// ```
354368 #[ inline]
Original file line number Diff line number Diff line change @@ -306,8 +306,9 @@ impl f32 {
306306 /// ```
307307 /// let x = 2.0_f32;
308308 /// let abs_difference = (x.powi(2) - (x * x)).abs();
309- ///
310309 /// assert!(abs_difference <= f32::EPSILON);
310+ ///
311+ /// assert_eq!(f32::powi(f32::NAN, 0), 1.0);
311312 /// ```
312313 #[ rustc_allow_incoherent_impl]
313314 #[ must_use = "method returns a new number and does not mutate the original value" ]
@@ -329,8 +330,10 @@ impl f32 {
329330 /// ```
330331 /// let x = 2.0_f32;
331332 /// let abs_difference = (x.powf(2.0) - (x * x)).abs();
332- ///
333333 /// assert!(abs_difference <= f32::EPSILON);
334+ ///
335+ /// assert_eq!(f32::powf(1.0, f32::NAN), 1.0);
336+ /// assert_eq!(f32::powf(f32::NAN, 0.0), 1.0);
334337 /// ```
335338 #[ rustc_allow_incoherent_impl]
336339 #[ must_use = "method returns a new number and does not mutate the original value" ]
Original file line number Diff line number Diff line change @@ -306,8 +306,9 @@ impl f64 {
306306 /// ```
307307 /// let x = 2.0_f64;
308308 /// let abs_difference = (x.powi(2) - (x * x)).abs();
309+ /// assert!(abs_difference <= f64::EPSILON);
309310 ///
310- /// assert!(abs_difference < 1e-10 );
311+ /// assert_eq!(f64::powi(f64::NAN, 0), 1.0 );
311312 /// ```
312313 #[ rustc_allow_incoherent_impl]
313314 #[ must_use = "method returns a new number and does not mutate the original value" ]
@@ -329,8 +330,10 @@ impl f64 {
329330 /// ```
330331 /// let x = 2.0_f64;
331332 /// let abs_difference = (x.powf(2.0) - (x * x)).abs();
333+ /// assert!(abs_difference <= f64::EPSILON);
332334 ///
333- /// assert!(abs_difference < 1e-10);
335+ /// assert_eq!(f64::powf(1.0, f64::NAN), 1.0);
336+ /// assert_eq!(f64::powf(f64::NAN, 0.0), 1.0);
334337 /// ```
335338 #[ rustc_allow_incoherent_impl]
336339 #[ must_use = "method returns a new number and does not mutate the original value" ]
You can’t perform that action at this time.
0 commit comments