testautomation_math: Fix misleading log output

These originally checked for expected ± EPSILON as logged, but since
commit 880c6939 they check for expected ± max_err, where max_err may
need to be greater than EPSILON for very large expected results like
the ones in exp_regularCases().

Also, EPSILON is so small that the default precision of the %f format
(6 decimal places) would never actually have shown its effect, so log
it in scientific notation instead.

Fixes: 880c6939 "testautomation_math: do relative comparison + more precise correct trigonometric values"
Signed-off-by: Simon McVittie <smcv@collabora.com>
This commit is contained in:
Simon McVittie 2024-02-02 10:59:21 +00:00 committed by Sam Lantinga
parent a7bd18c0d5
commit 58907d2c27

View file

@ -117,11 +117,10 @@ helper_dtod_inexact(const char *func_name, d_to_d_func func,
max_err = -max_err;
}
SDLTest_AssertCheck(diff <= max_err,
"%s(%f), expected [%f,%f], got %f",
"%s(%f), expected %f +/- %g, got %f",
func_name,
cases[i].input,
cases[i].expected - EPSILON,
cases[i].expected + EPSILON,
cases[i].expected, max_err,
result);
}
@ -182,11 +181,10 @@ helper_ddtod_inexact(const char *func_name, dd_to_d_func func,
}
SDLTest_AssertCheck(diff <= max_err,
"%s(%f,%f), expected [%f,%f], got %f",
"%s(%f,%f), expected %f +/- %g, got %f",
func_name,
cases[i].x_input, cases[i].y_input,
cases[i].expected - EPSILON,
cases[i].expected + EPSILON,
cases[i].expected, max_err,
result);
}