Add Small Conformance tests to Sqrt(f)

This commit is contained in:
Luc 2022-11-14 16:49:43 +01:00
parent 53dec2fc63
commit 95c860d1bf
2 changed files with 23 additions and 0 deletions

View file

@ -261,4 +261,16 @@ mod tests {
assert_eq!(sqrt(f), f);
}
}
#[test]
fn conformance_tests() {
let values = [3.14159265359, 10000.0, -1.0, INFINITY];
let results = [4610661241675116657u64, 4636737291354636288u64,
18444492273895866368u64, 9218868437227405312u64];
for i in 0..values.len() {
let bits = f64::to_bits(sqrt(values[i]));
assert_eq!(results[i], bits);
}
}
}

View file

@ -151,4 +151,15 @@ mod tests {
assert_eq!(sqrtf(f), f);
}
}
#[test]
fn conformance_tests() {
let values = [3.14159265359f32, 10000.0f32, -1.0f32, INFINITY];
let results = [1071833029u32, 1120403456u32, 4290772992u32, 2139095040u32];
for i in 0..values.len() {
let bits = f32::to_bits(sqrtf(values[i]));
assert_eq!(results[i], bits);
}
}
}