From 6eb240cbc1cb0f506acf9a756a37150160128ccb Mon Sep 17 00:00:00 2001 From: Trevor Gross Date: Fri, 2 May 2025 00:46:21 +0000 Subject: [PATCH] fmaf: Add a test case from a MinGW failure This is a known problem in the MinGW fmaf implementation, identified at [1]. Make sure our implementation passes this edge case. [1]: https://github.com/rust-lang/rust/issues/140515 --- libm-test/src/generate/case_list.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/libm-test/src/generate/case_list.rs b/libm-test/src/generate/case_list.rs index f1e6fcec3..43b28722f 100644 --- a/libm-test/src/generate/case_list.rs +++ b/libm-test/src/generate/case_list.rs @@ -269,7 +269,18 @@ fn fma_cases() -> Vec> { } fn fmaf_cases() -> Vec> { - vec![] + let mut v = vec![]; + TestCase::append_pairs( + &mut v, + &[ + // Known rounding error for some implementations (notably MinGW) + ( + (-1.9369631e13f32, 2.1513551e-7, -1.7354427e-24), + Some(-4167095.8), + ), + ], + ); + v } #[cfg(f128_enabled)]