mirror of
https://github.com/KhronosGroup/OpenCL-CTS.git
synced 2026-03-19 06:09:01 +00:00
Use lambda to reduce amount of code (#1219)
Signed-off-by: Marco Antognini <marco.antognini@arm.com>
This commit is contained in:
@@ -241,506 +241,18 @@ static int doTest(const char *name)
|
||||
return error;
|
||||
}
|
||||
|
||||
int test_acos(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("acos");
|
||||
}
|
||||
int test_acosh(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("acosh");
|
||||
}
|
||||
int test_acospi(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("acospi");
|
||||
}
|
||||
int test_asin(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("asin");
|
||||
}
|
||||
int test_asinh(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("asinh");
|
||||
}
|
||||
int test_asinpi(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("asinpi");
|
||||
}
|
||||
int test_atan(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("atan");
|
||||
}
|
||||
int test_atanh(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("atanh");
|
||||
}
|
||||
int test_atanpi(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("atanpi");
|
||||
}
|
||||
int test_atan2(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("atan2");
|
||||
}
|
||||
int test_atan2pi(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("atan2pi");
|
||||
}
|
||||
int test_cbrt(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("cbrt");
|
||||
}
|
||||
int test_ceil(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("ceil");
|
||||
}
|
||||
int test_copysign(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("copysign");
|
||||
}
|
||||
int test_cos(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("cos");
|
||||
}
|
||||
int test_cosh(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("cosh");
|
||||
}
|
||||
int test_cospi(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("cospi");
|
||||
}
|
||||
int test_exp(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("exp");
|
||||
}
|
||||
int test_exp2(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("exp2");
|
||||
}
|
||||
int test_exp10(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("exp10");
|
||||
}
|
||||
int test_expm1(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("expm1");
|
||||
}
|
||||
int test_fabs(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("fabs");
|
||||
}
|
||||
int test_fdim(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("fdim");
|
||||
}
|
||||
int test_floor(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("floor");
|
||||
}
|
||||
int test_fma(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("fma");
|
||||
}
|
||||
int test_fmax(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("fmax");
|
||||
}
|
||||
int test_fmin(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("fmin");
|
||||
}
|
||||
int test_fmod(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("fmod");
|
||||
}
|
||||
int test_fract(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("fract");
|
||||
}
|
||||
int test_frexp(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("frexp");
|
||||
}
|
||||
int test_hypot(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("hypot");
|
||||
}
|
||||
int test_ilogb(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("ilogb");
|
||||
}
|
||||
int test_isequal(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isequal");
|
||||
}
|
||||
int test_isfinite(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isfinite");
|
||||
}
|
||||
int test_isgreater(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isgreater");
|
||||
}
|
||||
int test_isgreaterequal(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isgreaterequal");
|
||||
}
|
||||
int test_isinf(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isinf");
|
||||
}
|
||||
int test_isless(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isless");
|
||||
}
|
||||
int test_islessequal(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("islessequal");
|
||||
}
|
||||
int test_islessgreater(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("islessgreater");
|
||||
}
|
||||
int test_isnan(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isnan");
|
||||
}
|
||||
int test_isnormal(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isnormal");
|
||||
}
|
||||
int test_isnotequal(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isnotequal");
|
||||
}
|
||||
int test_isordered(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isordered");
|
||||
}
|
||||
int test_isunordered(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("isunordered");
|
||||
}
|
||||
int test_ldexp(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("ldexp");
|
||||
}
|
||||
int test_lgamma(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("lgamma");
|
||||
}
|
||||
int test_lgamma_r(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("lgamma_r");
|
||||
}
|
||||
int test_log(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("log");
|
||||
}
|
||||
int test_log2(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("log2");
|
||||
}
|
||||
int test_log10(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("log10");
|
||||
}
|
||||
int test_log1p(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("log1p");
|
||||
}
|
||||
int test_logb(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("logb");
|
||||
}
|
||||
int test_mad(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("mad");
|
||||
}
|
||||
int test_maxmag(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("maxmag");
|
||||
}
|
||||
int test_minmag(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("minmag");
|
||||
}
|
||||
int test_modf(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("modf");
|
||||
}
|
||||
int test_nan(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("nan");
|
||||
}
|
||||
int test_nextafter(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("nextafter");
|
||||
}
|
||||
int test_pow(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("pow");
|
||||
}
|
||||
int test_pown(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("pown");
|
||||
}
|
||||
int test_powr(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("powr");
|
||||
}
|
||||
int test_remainder(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("remainder");
|
||||
}
|
||||
int test_remquo(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("remquo");
|
||||
}
|
||||
int test_rint(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("rint");
|
||||
}
|
||||
int test_rootn(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("rootn");
|
||||
}
|
||||
int test_round(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("round");
|
||||
}
|
||||
int test_rsqrt(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("rsqrt");
|
||||
}
|
||||
int test_signbit(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("signbit");
|
||||
}
|
||||
int test_sin(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("sin");
|
||||
}
|
||||
int test_sincos(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("sincos");
|
||||
}
|
||||
int test_sinh(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("sinh");
|
||||
}
|
||||
int test_sinpi(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("sinpi");
|
||||
}
|
||||
int test_sqrt(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("sqrt");
|
||||
}
|
||||
int test_sqrt_cr(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("sqrt_cr");
|
||||
}
|
||||
int test_tan(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("tan");
|
||||
}
|
||||
int test_tanh(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("tanh");
|
||||
}
|
||||
int test_tanpi(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("tanpi");
|
||||
}
|
||||
int test_trunc(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("trunc");
|
||||
}
|
||||
int test_half_cos(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_cos");
|
||||
}
|
||||
int test_half_divide(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_divide");
|
||||
}
|
||||
int test_half_exp(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_exp");
|
||||
}
|
||||
int test_half_exp2(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_exp2");
|
||||
}
|
||||
int test_half_exp10(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_exp10");
|
||||
}
|
||||
int test_half_log(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_log");
|
||||
}
|
||||
int test_half_log2(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_log2");
|
||||
}
|
||||
int test_half_log10(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_log10");
|
||||
}
|
||||
int test_half_powr(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_powr");
|
||||
}
|
||||
int test_half_recip(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_recip");
|
||||
}
|
||||
int test_half_rsqrt(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_rsqrt");
|
||||
}
|
||||
int test_half_sin(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_sin");
|
||||
}
|
||||
int test_half_sqrt(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_sqrt");
|
||||
}
|
||||
int test_half_tan(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("half_tan");
|
||||
}
|
||||
int test_add(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("add");
|
||||
}
|
||||
int test_subtract(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("subtract");
|
||||
}
|
||||
int test_divide(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("divide");
|
||||
}
|
||||
int test_divide_cr(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("divide_cr");
|
||||
}
|
||||
int test_multiply(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("multiply");
|
||||
}
|
||||
int test_assignment(cl_device_id deviceID, cl_context context,
|
||||
cl_command_queue queue, int num_elements)
|
||||
{
|
||||
return doTest("assignment");
|
||||
}
|
||||
int test_not(cl_device_id deviceID, cl_context context, cl_command_queue queue,
|
||||
int num_elements)
|
||||
{
|
||||
return doTest("not");
|
||||
}
|
||||
|
||||
#define TEST_LAMBDA(name) \
|
||||
[](cl_device_id, cl_context, cl_command_queue, int) { \
|
||||
return doTest(#name); \
|
||||
}
|
||||
|
||||
// Redefine ADD_TEST to use TEST_LAMBDA.
|
||||
#undef ADD_TEST
|
||||
#define ADD_TEST(name) \
|
||||
{ \
|
||||
TEST_LAMBDA(name), #name, Version(1, 0) \
|
||||
}
|
||||
|
||||
static test_definition test_list[] = {
|
||||
ADD_TEST(acos), ADD_TEST(acosh), ADD_TEST(acospi),
|
||||
@@ -779,6 +291,9 @@ static test_definition test_list[] = {
|
||||
ADD_TEST(not),
|
||||
};
|
||||
|
||||
#undef ADD_TEST
|
||||
#undef TEST_LAMBDA
|
||||
|
||||
static const int test_num = ARRAY_SIZE(test_list);
|
||||
|
||||
#pragma mark -
|
||||
|
||||
Reference in New Issue
Block a user