From 6bd3e0b189457bb3e0c62e301a0eef650178eeaf Mon Sep 17 00:00:00 2001 From: Pierre Wendling Date: Wed, 15 Jun 2022 15:58:48 -0400 Subject: [PATCH] Test: Check sqrt and atan against the epsilon. On i686-linux, the `sqrt_regularCases` and `atan_limitCases` tests would fail as the result was not precise enough. --- test/testautomation_math.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/test/testautomation_math.c b/test/testautomation_math.c index ad8d70f5b..8e3d9e555 100644 --- a/test/testautomation_math.c +++ b/test/testautomation_math.c @@ -2,8 +2,8 @@ * Math test suite */ -#include #include +#include #include "SDL.h" #include "SDL_test.h" @@ -1802,7 +1802,7 @@ sqrt_regularCases(void *args) { 2887.12782400000014604302123188972473144531250, 53.732 }, { 65600.0156250, 256.125 } }; - return helper_dtod("Sqrt", SDL_sqrt, regular_cases, SDL_arraysize(regular_cases)); + return helper_dtod_inexact("Sqrt", SDL_sqrt, regular_cases, SDL_arraysize(regular_cases)); } /* SDL_scalbn tests functions */ @@ -2432,12 +2432,14 @@ atan_limitCases(void *args) double result; result = SDL_atan(INFINITY); - SDLTest_AssertCheck(M_PI / 2.0 == result, + SDLTest_AssertCheck((M_PI / 2.0) - EPSILON <= result && + result <= (M_PI / 2.0) + EPSILON, "Atan(%f), expected %f, got %f", INFINITY, M_PI / 2.0, result); result = SDL_atan(-INFINITY); - SDLTest_AssertCheck(-M_PI / 2.0 == result, + SDLTest_AssertCheck((-M_PI / 2.0) - EPSILON <= result && + result <= (-M_PI / 2.0) + EPSILON, "Atan(%f), expected %f, got %f", -INFINITY, -M_PI / 2.0, result);