mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-21 23:09:01 +00:00
Bruteforce - embedded, relaxed ulp requirements (#839)
* Add embedded profile ULP requiremnts for relaxed tests. * Fixed exp relaxed ULP for embedded. * Added a utility function, getAllowedUlpError, for determining FP32 ULP. * Collection of requested changes from PR. Re-named float_embedded_relaxed_ulps -> relaxed_embedded_error. Re-ordered Func struct members.
This commit is contained in:
@@ -463,13 +463,12 @@ static cl_int TestFloat( cl_uint job_id, cl_uint thread_id, void *data )
|
||||
cl_uint scale = job->scale;
|
||||
cl_uint base = job_id * (cl_uint) job->step;
|
||||
ThreadInfo *tinfo = job->tinfo + thread_id;
|
||||
float ulps = job->ulps;
|
||||
fptr func = job->f->func;
|
||||
const char * fname = job->f->name;
|
||||
bool relaxedMode = job->relaxedMode;
|
||||
float ulps = getAllowedUlpError(job->f, relaxedMode);
|
||||
if (relaxedMode)
|
||||
{
|
||||
ulps = job->f->relaxed_error;
|
||||
func = job->f->rfunc;
|
||||
}
|
||||
|
||||
@@ -634,8 +633,13 @@ static cl_int TestFloat( cl_uint job_id, cl_uint thread_id, void *data )
|
||||
|
||||
if ( strcmp(fname, "exp") == 0 || strcmp(fname, "exp2") == 0 )
|
||||
{
|
||||
float exp_error = ulps;
|
||||
|
||||
if (!gIsEmbedded)
|
||||
{
|
||||
exp_error += floor(fabs(2 * s[j]));
|
||||
}
|
||||
|
||||
float exp_error = 3+floor(fabs(2*s[j]));
|
||||
fail = ! (fabsf(err) <= exp_error);
|
||||
ulps = exp_error;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user