diff options
Diffstat (limited to 'vendor/compiler_builtins/libm/src/math/sqrt.rs')
-rw-r--r-- | vendor/compiler_builtins/libm/src/math/sqrt.rs | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/vendor/compiler_builtins/libm/src/math/sqrt.rs b/vendor/compiler_builtins/libm/src/math/sqrt.rs index f06b209a4..3733ba040 100644 --- a/vendor/compiler_builtins/libm/src/math/sqrt.rs +++ b/vendor/compiler_builtins/libm/src/math/sqrt.rs @@ -261,4 +261,20 @@ mod tests { assert_eq!(sqrt(f), f); } } + + #[test] + fn conformance_tests() { + let values = [3.14159265359, 10000.0, f64::from_bits(0x0000000f), INFINITY]; + let results = [ + 4610661241675116657u64, + 4636737291354636288u64, + 2197470602079456986u64, + 9218868437227405312u64, + ]; + + for i in 0..values.len() { + let bits = f64::to_bits(sqrt(values[i])); + assert_eq!(results[i], bits); + } + } } |