From 6683fa91a95d055b51a2c3236582bfc48adfbd96 Mon Sep 17 00:00:00 2001 From: Marco Antognini Date: Tue, 20 Apr 2021 17:10:06 +0100 Subject: [PATCH] Use lambda to reduce amount of code (#1219) Signed-off-by: Marco Antognini --- test_conformance/math_brute_force/main.cpp | 515 +-------------------- 1 file changed, 15 insertions(+), 500 deletions(-) diff --git a/test_conformance/math_brute_force/main.cpp b/test_conformance/math_brute_force/main.cpp index 4211ac9d..1cfc3c43 100644 --- a/test_conformance/math_brute_force/main.cpp +++ b/test_conformance/math_brute_force/main.cpp @@ -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 -