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

Commit c780687

Browse files
authored
Merge pull request #274 from ZagButNoZig/master
2 parents 612e7ff + b925fe3 commit c780687

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

libm/src/math/sqrt.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,4 +261,20 @@ mod tests {
261261
assert_eq!(sqrt(f), f);
262262
}
263263
}
264+
265+
#[test]
266+
fn conformance_tests() {
267+
let values = [3.14159265359, 10000.0, f64::from_bits(0x0000000f), INFINITY];
268+
let results = [
269+
4610661241675116657u64,
270+
4636737291354636288u64,
271+
2197470602079456986u64,
272+
9218868437227405312u64,
273+
];
274+
275+
for i in 0..values.len() {
276+
let bits = f64::to_bits(sqrt(values[i]));
277+
assert_eq!(results[i], bits);
278+
}
279+
}
264280
}

libm/src/math/sqrtf.rs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,20 @@ mod tests {
151151
assert_eq!(sqrtf(f), f);
152152
}
153153
}
154+
155+
#[test]
156+
fn conformance_tests() {
157+
let values = [
158+
3.14159265359f32,
159+
10000.0f32,
160+
f32::from_bits(0x0000000f),
161+
INFINITY,
162+
];
163+
let results = [1071833029u32, 1120403456u32, 456082799u32, 2139095040u32];
164+
165+
for i in 0..values.len() {
166+
let bits = f32::to_bits(sqrtf(values[i]));
167+
assert_eq!(results[i], bits);
168+
}
169+
}
154170
}

0 commit comments

Comments
 (0)