@@ -1292,8 +1292,7 @@ fn test_non_determinism() {
12921292 }
12931293 }
12941294 // We saw the same thing N times.
1295- // FIXME: temporarily disabled as it breaks std tests.
1296- //panic!("expected non-determinism, got {rounds} times the same result: {first:?}");
1295+ panic ! ( "expected non-determinism, got {rounds} times the same result: {first:?}" ) ;
12971296 }
12981297
12991298 macro_rules! test_operations_f {
@@ -1319,66 +1318,68 @@ fn test_non_determinism() {
13191318 }
13201319 pub fn test_operations_f32 ( a : f32 , b : f32 ) {
13211320 test_operations_f ! ( a, b) ;
1322- ensure_nondet ( || a. log ( b) ) ;
1323- ensure_nondet ( || a. exp ( ) ) ;
1324- ensure_nondet ( || 10f32 . exp2 ( ) ) ;
1325- ensure_nondet ( || f32:: consts:: E . ln ( ) ) ;
1326- ensure_nondet ( || 1f32 . ln_1p ( ) ) ;
1327- ensure_nondet ( || 10f32 . log10 ( ) ) ;
1328- ensure_nondet ( || 8f32 . log2 ( ) ) ;
1329- ensure_nondet ( || 27.0f32 . cbrt ( ) ) ;
1330- ensure_nondet ( || 3.0f32 . hypot ( 4.0f32 ) ) ;
1331- ensure_nondet ( || 1f32 . sin ( ) ) ;
1332- ensure_nondet ( || 0f32 . cos ( ) ) ;
1333- // On i686-pc-windows-msvc , these functions are implemented by calling the `f64` version,
1334- // which means the little rounding errors Miri introduces are discard by the cast down to `f32`.
1335- // Just skip the test for them.
1336- if !cfg ! ( all( target_os = "windows" , target_env = "msvc" , target_arch = "x86" ) ) {
1337- ensure_nondet ( || 1.0f32 . tan ( ) ) ;
1338- ensure_nondet ( || 1.0f32 . asin ( ) ) ;
1339- ensure_nondet ( || 5.0f32 . acos ( ) ) ;
1340- ensure_nondet ( || 1.0f32 . atan ( ) ) ;
1341- ensure_nondet ( || 1.0f32 . atan2 ( 2.0f32 ) ) ;
1342- ensure_nondet ( || 1.0f32 . sinh ( ) ) ;
1343- ensure_nondet ( || 1.0f32 . cosh ( ) ) ;
1344- ensure_nondet ( || 1.0f32 . tanh ( ) ) ;
1345- }
1346- ensure_nondet ( || 1.0f32 . asinh ( ) ) ;
1347- ensure_nondet ( || 2.0f32 . acosh ( ) ) ;
1348- ensure_nondet ( || 0.5f32 . atanh ( ) ) ;
1349- ensure_nondet ( || 5.0f32 . gamma ( ) ) ;
1350- ensure_nondet ( || 5.0f32 . ln_gamma ( ) ) ;
1351- ensure_nondet ( || 5.0f32 . erf ( ) ) ;
1352- ensure_nondet ( || 5.0f32 . erfc ( ) ) ;
1321+ // FIXME: temporarily disabled as it breaks std tests.
1322+ // ensure_nondet(|| a.log(b));
1323+ // ensure_nondet(|| a.exp());
1324+ // ensure_nondet(|| 10f32.exp2());
1325+ // ensure_nondet(|| f32::consts::E.ln());
1326+ // ensure_nondet(|| 1f32.ln_1p());
1327+ // ensure_nondet(|| 10f32.log10());
1328+ // ensure_nondet(|| 8f32.log2());
1329+ // ensure_nondet(|| 27.0f32.cbrt());
1330+ // ensure_nondet(|| 3.0f32.hypot(4.0f32));
1331+ // ensure_nondet(|| 1f32.sin());
1332+ // ensure_nondet(|| 0f32.cos());
1333+ // // On i686-pc-windows-msvc , these functions are implemented by calling the `f64` version,
1334+ // // which means the little rounding errors Miri introduces are discard by the cast down to `f32`.
1335+ // // Just skip the test for them.
1336+ // if !cfg!(all(target_os = "windows", target_env = "msvc", target_arch = "x86")) {
1337+ // ensure_nondet(|| 1.0f32.tan());
1338+ // ensure_nondet(|| 1.0f32.asin());
1339+ // ensure_nondet(|| 5.0f32.acos());
1340+ // ensure_nondet(|| 1.0f32.atan());
1341+ // ensure_nondet(|| 1.0f32.atan2(2.0f32));
1342+ // ensure_nondet(|| 1.0f32.sinh());
1343+ // ensure_nondet(|| 1.0f32.cosh());
1344+ // ensure_nondet(|| 1.0f32.tanh());
1345+ // }
1346+ // ensure_nondet(|| 1.0f32.asinh());
1347+ // ensure_nondet(|| 2.0f32.acosh());
1348+ // ensure_nondet(|| 0.5f32.atanh());
1349+ // ensure_nondet(|| 5.0f32.gamma());
1350+ // ensure_nondet(|| 5.0f32.ln_gamma());
1351+ // ensure_nondet(|| 5.0f32.erf());
1352+ // ensure_nondet(|| 5.0f32.erfc());
13531353 }
13541354 pub fn test_operations_f64 ( a : f64 , b : f64 ) {
13551355 test_operations_f ! ( a, b) ;
1356- ensure_nondet ( || a. log ( b) ) ;
1357- ensure_nondet ( || a. exp ( ) ) ;
1358- ensure_nondet ( || 50f64 . exp2 ( ) ) ;
1359- ensure_nondet ( || 3f64 . ln ( ) ) ;
1360- ensure_nondet ( || 1f64 . ln_1p ( ) ) ;
1361- ensure_nondet ( || f64:: consts:: E . log10 ( ) ) ;
1362- ensure_nondet ( || f64:: consts:: E . log2 ( ) ) ;
1363- ensure_nondet ( || 27.0f64 . cbrt ( ) ) ;
1364- ensure_nondet ( || 3.0f64 . hypot ( 4.0f64 ) ) ;
1365- ensure_nondet ( || 1f64 . sin ( ) ) ;
1366- ensure_nondet ( || 0f64 . cos ( ) ) ;
1367- ensure_nondet ( || 1.0f64 . tan ( ) ) ;
1368- ensure_nondet ( || 1.0f64 . asin ( ) ) ;
1369- ensure_nondet ( || 5.0f64 . acos ( ) ) ;
1370- ensure_nondet ( || 1.0f64 . atan ( ) ) ;
1371- ensure_nondet ( || 1.0f64 . atan2 ( 2.0f64 ) ) ;
1372- ensure_nondet ( || 1.0f64 . sinh ( ) ) ;
1373- ensure_nondet ( || 1.0f64 . cosh ( ) ) ;
1374- ensure_nondet ( || 1.0f64 . tanh ( ) ) ;
1375- ensure_nondet ( || 1.0f64 . asinh ( ) ) ;
1376- ensure_nondet ( || 3.0f64 . acosh ( ) ) ;
1377- ensure_nondet ( || 0.5f64 . atanh ( ) ) ;
1378- ensure_nondet ( || 5.0f64 . gamma ( ) ) ;
1379- ensure_nondet ( || 5.0f64 . ln_gamma ( ) ) ;
1380- ensure_nondet ( || 5.0f64 . erf ( ) ) ;
1381- ensure_nondet ( || 5.0f64 . erfc ( ) ) ;
1356+ // FIXME: temporarily disabled as it breaks std tests.
1357+ // ensure_nondet(|| a.log(b));
1358+ // ensure_nondet(|| a.exp());
1359+ // ensure_nondet(|| 50f64.exp2());
1360+ // ensure_nondet(|| 3f64.ln());
1361+ // ensure_nondet(|| 1f64.ln_1p());
1362+ // ensure_nondet(|| f64::consts::E.log10());
1363+ // ensure_nondet(|| f64::consts::E.log2());
1364+ // ensure_nondet(|| 27.0f64.cbrt());
1365+ // ensure_nondet(|| 3.0f64.hypot(4.0f64));
1366+ // ensure_nondet(|| 1f64.sin());
1367+ // ensure_nondet(|| 0f64.cos());
1368+ // ensure_nondet(|| 1.0f64.tan());
1369+ // ensure_nondet(|| 1.0f64.asin());
1370+ // ensure_nondet(|| 5.0f64.acos());
1371+ // ensure_nondet(|| 1.0f64.atan());
1372+ // ensure_nondet(|| 1.0f64.atan2(2.0f64));
1373+ // ensure_nondet(|| 1.0f64.sinh());
1374+ // ensure_nondet(|| 1.0f64.cosh());
1375+ // ensure_nondet(|| 1.0f64.tanh());
1376+ // ensure_nondet(|| 1.0f64.asinh());
1377+ // ensure_nondet(|| 3.0f64.acosh());
1378+ // ensure_nondet(|| 0.5f64.atanh());
1379+ // ensure_nondet(|| 5.0f64.gamma());
1380+ // ensure_nondet(|| 5.0f64.ln_gamma());
1381+ // ensure_nondet(|| 5.0f64.erf());
1382+ // ensure_nondet(|| 5.0f64.erfc());
13821383 }
13831384 pub fn test_operations_f128 ( a : f128 , b : f128 ) {
13841385 test_operations_f ! ( a, b) ;
0 commit comments