From a3a852e91227de5783ebc326f38243a40d91b022 Mon Sep 17 00:00:00 2001
From: Pierre Wendling <[EMAIL REDACTED]>
Date: Wed, 4 May 2022 13:51:42 -0400
Subject: [PATCH] Test: Unrolled the array of cases in math suite.
On OS/2, `INFINITY` is a `const double` which cannot be used to
instantiate an array.
---
test/testautomation_math.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/test/testautomation_math.c b/test/testautomation_math.c
index 54f2fec5fac..eca13920417 100644
--- a/test/testautomation_math.c
+++ b/test/testautomation_math.c
@@ -15,13 +15,22 @@
* \brief Checks edge cases (0 and infinity) for themselves.
*/
static int floor_edgeCases(void* args) {
- const double edge_cases[] = {INFINITY, -INFINITY, 0.0, -0.0};
- for (size_t i = 0; i < SDL_arraysize(edge_cases); i++) {
- const double result = SDL_floor(edge_cases[i]);
- SDLTest_AssertCheck(result == edge_cases[i],
- "Floor(%.1f), expected %.1f, got %.1f", edge_cases[i],
- edge_cases[i], result);
- }
+ double result;
+
+ result = SDL_floor(INFINITY);
+ SDLTest_AssertCheck(INFINITY == result, "Floor(%f), expected %f, got %f",
+ INFINITY, INFINITY, result);
+ result = SDL_floor(-INFINITY);
+ SDLTest_AssertCheck(-INFINITY == result, "Floor(%f), expected %f, got %f",
+ -INFINITY, -INFINITY, result);
+
+ result = SDL_floor(0.0);
+ SDLTest_AssertCheck(0.0 == result, "Floor(%.1f), expected %.1f, got %.1f",
+ 0.0, 0.0, result);
+ result = SDL_floor(-0.0);
+ SDLTest_AssertCheck(-0.0 == result, "Floor(%.1f), expected %.1f, got %.1f",
+ -0.0, -0.0, result);
+
return TEST_COMPLETED;
}