mirror of https://github.com/encounter/SDL.git
Test: Add Log10 tests to math suite.
This commit is contained in:
parent
7041bbaf00
commit
6349ad7319
|
@ -1048,6 +1048,91 @@ log_regularCases(void *args)
|
||||||
return helper_dtod("Log", SDL_log, regular_cases, SDL_arraysize(regular_cases));
|
return helper_dtod("Log", SDL_log, regular_cases, SDL_arraysize(regular_cases));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* SDL_log10 tests functions */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Checks limits (zeros and positive infinity).
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
log10_limitCases(void *args)
|
||||||
|
{
|
||||||
|
double result;
|
||||||
|
|
||||||
|
result = SDL_log10(INFINITY);
|
||||||
|
SDLTest_AssertCheck(INFINITY == result,
|
||||||
|
"Log10(%f), expected %f, got %f",
|
||||||
|
INFINITY, INFINITY, result);
|
||||||
|
|
||||||
|
result = SDL_log10(0.0);
|
||||||
|
SDLTest_AssertCheck(-INFINITY == result,
|
||||||
|
"Log10(%f), expected %f, got %f",
|
||||||
|
0.0, -INFINITY, result);
|
||||||
|
|
||||||
|
result = SDL_log10(-0.0);
|
||||||
|
SDLTest_AssertCheck(-INFINITY == result,
|
||||||
|
"Log10(%f), expected %f, got %f",
|
||||||
|
-0.0, -INFINITY, result);
|
||||||
|
|
||||||
|
return TEST_COMPLETED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Checks some base cases.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
log10_baseCases(void *args)
|
||||||
|
{
|
||||||
|
const d_to_d base_cases[] = {
|
||||||
|
{ 1.0, 0.0 },
|
||||||
|
{ 10.0, 1.0 },
|
||||||
|
{ 100.0, 2.0 },
|
||||||
|
{ 1000.0, 3.0 },
|
||||||
|
{ 10000.0, 4.0 },
|
||||||
|
{ 100000.0, 5.0 },
|
||||||
|
{ 1000000.0, 6.0 },
|
||||||
|
{ 10000000.0, 7.0 },
|
||||||
|
{ 100000000.0, 8.0 },
|
||||||
|
{ 1000000000.0, 9.0 },
|
||||||
|
};
|
||||||
|
return helper_dtod("Log10", SDL_log10, base_cases, SDL_arraysize(base_cases));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Checks the nan cases.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
log10_nanCases(void *args)
|
||||||
|
{
|
||||||
|
double result;
|
||||||
|
|
||||||
|
result = SDL_log10(NAN);
|
||||||
|
SDLTest_AssertCheck(isnan(result),
|
||||||
|
"Log10(%f), expected %f, got %f",
|
||||||
|
NAN, NAN, result);
|
||||||
|
|
||||||
|
result = SDL_log10(-1234.5678);
|
||||||
|
SDLTest_AssertCheck(isnan(result),
|
||||||
|
"Log10(%f), expected %f, got %f",
|
||||||
|
-1234.5678, NAN, result);
|
||||||
|
|
||||||
|
return TEST_COMPLETED;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Checks a set of regular cases.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
log10_regularCases(void *args)
|
||||||
|
{
|
||||||
|
const d_to_d regular_cases[] = {
|
||||||
|
{ 5.0, 0.698970004336018857493684208748163655400276184082031250 },
|
||||||
|
{ 12.5, 1.09691001300805646145875016372883692383766174316406250 },
|
||||||
|
{ 56.32, 1.750662646134055755453573510749265551567077636718750 },
|
||||||
|
{ 789.123, 2.8971447016351858927407647570362314581871032714843750 },
|
||||||
|
{ 2734.876324, 3.436937691540090433761633903486654162406921386718750 }
|
||||||
|
};
|
||||||
|
return helper_dtod("Log10", SDL_log10, regular_cases, SDL_arraysize(regular_cases));
|
||||||
|
}
|
||||||
/* ================= Test References ================== */
|
/* ================= Test References ================== */
|
||||||
|
|
||||||
/* SDL_floor test cases */
|
/* SDL_floor test cases */
|
||||||
|
@ -1269,6 +1354,25 @@ static const SDLTest_TestCaseReference logTestRegular = {
|
||||||
"Check a set of regular values", TEST_ENABLED
|
"Check a set of regular values", TEST_ENABLED
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* SDL_log10 test cases */
|
||||||
|
|
||||||
|
static const SDLTest_TestCaseReference log10TestLimit = {
|
||||||
|
(SDLTest_TestCaseFp) log10_limitCases, "log10_limitCases",
|
||||||
|
"Check for limits", TEST_ENABLED
|
||||||
|
};
|
||||||
|
static const SDLTest_TestCaseReference log10TestNan = {
|
||||||
|
(SDLTest_TestCaseFp) log10_nanCases, "log10_nanCases",
|
||||||
|
"Check for the nan cases", TEST_ENABLED
|
||||||
|
};
|
||||||
|
static const SDLTest_TestCaseReference log10TestBase = {
|
||||||
|
(SDLTest_TestCaseFp) log10_baseCases, "log10_baseCases",
|
||||||
|
"Check for base cases", TEST_ENABLED
|
||||||
|
};
|
||||||
|
static const SDLTest_TestCaseReference log10TestRegular = {
|
||||||
|
(SDLTest_TestCaseFp) log10_regularCases, "log10_regularCases",
|
||||||
|
"Check a set of regular values", TEST_ENABLED
|
||||||
|
};
|
||||||
|
|
||||||
static const SDLTest_TestCaseReference *mathTests[] = {
|
static const SDLTest_TestCaseReference *mathTests[] = {
|
||||||
&floorTestInf, &floorTestZero, &floorTestNan,
|
&floorTestInf, &floorTestZero, &floorTestNan,
|
||||||
&floorTestRound, &floorTestFraction, &floorTestRange,
|
&floorTestRound, &floorTestFraction, &floorTestRange,
|
||||||
|
@ -1295,6 +1399,9 @@ static const SDLTest_TestCaseReference *mathTests[] = {
|
||||||
&logTestLimit, &logTestNan,
|
&logTestLimit, &logTestNan,
|
||||||
&logTestBase, &logTestRegular,
|
&logTestBase, &logTestRegular,
|
||||||
|
|
||||||
|
&log10TestLimit, &log10TestNan,
|
||||||
|
&log10TestBase, &log10TestRegular,
|
||||||
|
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue