@@ -1046,9 +1046,6 @@ pub fn libm() {
10461046
10471047 // For pow (powf in rust) the C standard says:
10481048 // x^0 = 1 for all x even a sNaN
1049- // FIXME: But the ecosystem is inconistent with this, in the future we should return either
1050- // 1 or the NaN. Add correct tests when we actually do this.
1051- // Currently we return 1.
10521049 assert_eq ! ( SINGLE_SNAN . powf( 0.0 ) , 1.0 ) ;
10531050 assert_eq ! ( DOUBLE_SNAN . powf( 0.0 ) , 1.0 ) ;
10541051 // f*::NAN is a quiet NAN and should return 1 as well.
@@ -1062,8 +1059,11 @@ pub fn libm() {
10621059
10631060 // For pown (powi in rust) the C standard says:
10641061 // x^0 = 1 for all x not a sNaN.
1065- assert_ne ! ( SINGLE_SNAN . powi( 0 ) , 1.0 ) ;
1066- assert_ne ! ( DOUBLE_SNAN . powi( 0 ) , 1.0 ) ;
1062+ // FIXME: But the ecosystem is inconistent with this, in the future we should return either
1063+ // 1 or the NaN. Add correct tests when we actually do this.
1064+ // Should we follow glibc and libm or the C Standard itself?
1065+ // assert_ne!(SINGLE_SNAN.powi(0), 1.0);
1066+ // assert_ne!(DOUBLE_SNAN.powi(0), 1.0);
10671067 // f*::NAN is a quiet NAN and should return 1 as well.
10681068 assert_eq ! ( f32 :: NAN . powi( 0 ) , 1.0 ) ;
10691069 assert_eq ! ( f64 :: NAN . powi( 0 ) , 1.0 ) ;
0 commit comments