summaryrefslogtreecommitdiffstats
path: root/vendor/compiler_builtins/libm/src/math/sqrt.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/compiler_builtins/libm/src/math/sqrt.rs')
-rw-r--r--vendor/compiler_builtins/libm/src/math/sqrt.rs16
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);
+ }
+ }
}