diff options
author | Denis Steckelmacher <steckdenis@yahoo.fr> | 2011-09-14 19:09:11 +0200 |
---|---|---|
committer | Denis Steckelmacher <steckdenis@yahoo.fr> | 2011-09-14 19:09:11 +0200 |
commit | 1564eb001078fd2196ef7b1b6207b9f12fe68d89 (patch) | |
tree | 8a6aaba384e532013dbdd1fe7cde894454972e49 /tests | |
parent | 5ccc29a52448724c9e9cedd68901f5b673c77f4e (diff) |
Implement a script to generate built-ins quickly, and implement cos().
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_builtins.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/test_builtins.cpp b/tests/test_builtins.cpp index 94e836e..d8a5826 100644 --- a/tests/test_builtins.cpp +++ b/tests/test_builtins.cpp @@ -95,6 +95,17 @@ const char image_source[] = " fcolor = read_imagef(image3, sampler, fcoords);\n" "}\n"; +const char builtins_source[] = + "__kernel void test_case(__global uint *rs) {\n" + " float2 f2;\n" + "\n" + " f2.x = 1.0f;\n" + " f2.y = 0.0f;\n" + "\n" + " if (cos(f2).y != 1.0f) { *rs = 1; return; }\n" + " if (cos(0.0f) != 1.0f) { *rs = 2; return; }\n" + "}\n"; + enum TestCaseKind { NormalKind, @@ -357,6 +368,30 @@ START_TEST (test_image) } END_TEST +START_TEST (test_builtins) +{ + uint32_t rs = run_kernel(builtins_source, NormalKind); + const char *errstr = 0; + + switch (rs) + { + case 1: + errstr = "float2 cos(float2) doesn't behave correctly"; + break; + case 2: + errstr = "float cos(float) doesn't behave correctly"; + break; + default: + errstr = default_error(rs); + } + + fail_if( + errstr != 0, + errstr + ); +} +END_TEST + TCase *cl_builtins_tcase_create(void) { TCase *tc = NULL; @@ -364,5 +399,6 @@ TCase *cl_builtins_tcase_create(void) tcase_add_test(tc, test_sampler); tcase_add_test(tc, test_barrier); tcase_add_test(tc, test_image); + tcase_add_test(tc, test_builtins); return tc; } |