Skip to content
This repository was archived by the owner on May 28, 2025. It is now read-only.

Commit 71d0edf

Browse files
set 2^100 directly in integer decode tests because powf is non-deterministic
1 parent ebb4eda commit 71d0edf

File tree

1 file changed

+4
-2
lines changed
  • library/coretests/tests/num/dec2flt

1 file changed

+4
-2
lines changed

library/coretests/tests/num/dec2flt/float.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ use core::num::dec2flt::float::RawFloat;
44
fn test_f32_integer_decode() {
55
assert_eq!(3.14159265359f32.integer_decode(), (13176795, -22, 1));
66
assert_eq!((-8573.5918555f32).integer_decode(), (8779358, -10, -1));
7-
assert_eq!(2f32.powf(100.0).integer_decode(), (8388608, 77, 1));
7+
// Set 2^100 directly instead of using powf, because it doesn't guarentee precision
8+
assert_eq!(1.2676506e30_f32.integer_decode(), (8388608, 77, 1));
89
assert_eq!(0f32.integer_decode(), (0, -150, 1));
910
assert_eq!((-0f32).integer_decode(), (0, -150, -1));
1011
assert_eq!(f32::INFINITY.integer_decode(), (8388608, 105, 1));
@@ -20,7 +21,8 @@ fn test_f32_integer_decode() {
2021
fn test_f64_integer_decode() {
2122
assert_eq!(3.14159265359f64.integer_decode(), (7074237752028906, -51, 1));
2223
assert_eq!((-8573.5918555f64).integer_decode(), (4713381968463931, -39, -1));
23-
assert_eq!(2f64.powf(100.0).integer_decode(), (4503599627370496, 48, 1));
24+
// Set 2^100 directly instead of using powf, because it doesn't guarentee precision
25+
assert_eq!(1.2676506002282294e30_f64.integer_decode(), (4503599627370496, 48, 1));
2426
assert_eq!(0f64.integer_decode(), (0, -1075, 1));
2527
assert_eq!((-0f64).integer_decode(), (0, -1075, -1));
2628
assert_eq!(f64::INFINITY.integer_decode(), (4503599627370496, 972, 1));

0 commit comments

Comments
 (0)