[Beignet] [PATCH] use int64_t to express "long" in a test case

Homer Hsing homer.xing at intel.com
Mon Oct 21 00:26:02 PDT 2013


Signed-off-by: Homer Hsing <homer.xing at intel.com>
---
 utests/builtin_convert_sat.cpp | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/utests/builtin_convert_sat.cpp b/utests/builtin_convert_sat.cpp
index 3c96226..7272057 100644
--- a/utests/builtin_convert_sat.cpp
+++ b/utests/builtin_convert_sat.cpp
@@ -10,12 +10,12 @@ int64_t my_rand(void) {
   return x * y;
 }
 
-#define DEF(DST_TYPE, SRC_TYPE, DST_MIN, DST_MAX) \
+#define DEF2(DST_TYPE, SRC_TYPE, DST_MIN, DST_MAX, REAL_SRC_TYPE) \
 void builtin_convert_ ## SRC_TYPE ## _to_ ## DST_TYPE ## _sat(void) \
 { \
   const int n = 128; \
   OCL_CREATE_KERNEL_FROM_FILE("builtin_convert_sat", "builtin_convert_" # SRC_TYPE "_to_" # DST_TYPE "_sat"); \
-  OCL_CREATE_BUFFER(buf[0], 0, n * sizeof(SRC_TYPE), NULL); \
+  OCL_CREATE_BUFFER(buf[0], 0, n * sizeof(REAL_SRC_TYPE), NULL); \
   OCL_CREATE_BUFFER(buf[1], 0, n * sizeof(DST_TYPE), NULL); \
   OCL_SET_ARG(0, sizeof(cl_mem), &buf[0]); \
   OCL_SET_ARG(1, sizeof(cl_mem), &buf[1]); \
@@ -23,13 +23,13 @@ void builtin_convert_ ## SRC_TYPE ## _to_ ## DST_TYPE ## _sat(void) \
   locals[0] = 16; \
   OCL_MAP_BUFFER(0); \
   for (int i = 0; i < n; i++) \
-    ((SRC_TYPE *)buf_data[0])[i] = my_rand(); \
+    ((REAL_SRC_TYPE *)buf_data[0])[i] = my_rand(); \
   OCL_UNMAP_BUFFER(0); \
   OCL_NDRANGE(1); \
   OCL_MAP_BUFFER(0); \
   OCL_MAP_BUFFER(1); \
   for (int i = 0; i < n; i++) { \
-    SRC_TYPE src = ((SRC_TYPE *)buf_data[0])[i]; \
+    REAL_SRC_TYPE src = ((REAL_SRC_TYPE *)buf_data[0])[i]; \
     DST_TYPE dst; \
     if ((double)src > (double)DST_MAX) \
       dst = DST_MAX; \
@@ -44,34 +44,37 @@ void builtin_convert_ ## SRC_TYPE ## _to_ ## DST_TYPE ## _sat(void) \
 } \
 MAKE_UTEST_FROM_FUNCTION(builtin_convert_ ## SRC_TYPE ## _to_ ## DST_TYPE ## _sat);
 
+#define DEF(DST_TYPE, SRC_TYPE, DST_MIN, DST_MAX) \
+  DEF2(DST_TYPE, SRC_TYPE, DST_MIN, DST_MAX, SRC_TYPE)
+
 DEF(char, uchar, -128, 127);
 DEF(char, short, -128, 127);
 DEF(char, ushort, -128, 127);
 DEF(char, int, -128, 127);
 DEF(char, uint, -128, 127);
-DEF(char, long, -128, 127);
+DEF2(char, long, -128, 127, int64_t);
 DEF(char, float, -128, 127);
 DEF(uchar, char, 0, 255);
 DEF(uchar, short, 0, 255);
 DEF(uchar, ushort, 0, 255);
 DEF(uchar, int, 0, 255);
 DEF(uchar, uint, 0, 255);
-DEF(uchar, long, 0, 255);
+DEF2(uchar, long, 0, 255, int64_t);
 DEF(uchar, float, 0, 255);
 DEF(short, ushort, -32768, 32767);
 DEF(short, int, -32768, 32767);
 DEF(short, uint, -32768, 32767);
-DEF(short, long, -32768, 32767);
+DEF2(short, long, -32768, 32767, int64_t);
 DEF(short, float, -32768, 32767);
 DEF(ushort, short, 0, 65535);
 DEF(ushort, int, 0, 65535);
 DEF(ushort, uint, 0, 65535);
-DEF(ushort, long, 0, 65535);
+DEF2(ushort, long, 0, 65535, int64_t);
 DEF(ushort, float, 0, 65535);
 DEF(int, uint, -0x7FFFFFFF-1, 0x7FFFFFFF);
-DEF(int, long, -0x7FFFFFFF-1, 0x7FFFFFFF);
+DEF2(int, long, -0x7FFFFFFF-1, 0x7FFFFFFF, int64_t);
 DEF(int, float, -0x7FFFFFFF-1, 0x7FFFFFFF);
 DEF(uint, int, 0, 0xffffffffu);
-DEF(uint, long, 0, 0xffffffffu);
+DEF2(uint, long, 0, 0xffffffffu, int64_t);
 DEF(uint, float, 0, 0xffffffffu);
 #undef DEF
-- 
1.8.3.2



More information about the Beignet mailing list