File tree Expand file tree Collapse file tree 4 files changed +42
-6
lines changed Expand file tree Collapse file tree 4 files changed +42
-6
lines changed Original file line number Diff line number Diff line change @@ -324,6 +324,19 @@ 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+      /// # #[cfg(reliable_f128_math)] { 
333+      /// 
334+      /// let x = 2.0_f128; 
335+      /// let abs_difference = (x.powi(2) - (x * x)).abs(); 
336+      /// assert!(abs_difference <= f128::EPSILON); 
337+      /// 
338+      /// assert_eq!(f128::powi(f128::NAN, 0), 1.0); 
339+      /// ``` 
327340     #[ inline]  
328341    #[ rustc_allow_incoherent_impl]  
329342    #[ unstable( feature = "f128" ,  issue = "116909" ) ]  
@@ -347,8 +360,10 @@ impl f128 {
347360     /// 
348361     /// let x = 2.0_f128; 
349362     /// let abs_difference = (x.powf(2.0) - (x * x)).abs(); 
350-      /// 
351363     /// assert!(abs_difference <= f128::EPSILON); 
364+      /// 
365+      /// assert_eq!(f128::powf(1.0, f128::NAN), 1.0); 
366+      /// assert_eq!(f128::powf(f128::NAN, 0.0), 1.0); 
352367     /// # } 
353368     /// ``` 
354369     #[ inline]  
Original file line number Diff line number Diff line change @@ -324,6 +324,19 @@ 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+      /// # #[cfg(reliable_f16_math)] { 
333+      /// 
334+      /// let x = 2.0_f16; 
335+      /// let abs_difference = (x.powi(2) - (x * x)).abs(); 
336+      /// assert!(abs_difference <= f16::EPSILON); 
337+      /// 
338+      /// assert_eq!(f16::powi(f16::NAN, 0), 1.0); 
339+      /// ``` 
327340     #[ inline]  
328341    #[ rustc_allow_incoherent_impl]  
329342    #[ unstable( feature = "f16" ,  issue = "116909" ) ]  
@@ -347,8 +360,10 @@ impl f16 {
347360     /// 
348361     /// let x = 2.0_f16; 
349362     /// let abs_difference = (x.powf(2.0) - (x * x)).abs(); 
350-      /// 
351363     /// assert!(abs_difference <= f16::EPSILON); 
364+      /// 
365+      /// assert_eq!(f16::powf(1.0, f16::NAN), 1.0); 
366+      /// assert_eq!(f16::powf(f16::NAN, 0.0), 1.0); 
352367     /// # } 
353368     /// ``` 
354369     #[ 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