#define TEST_TYPE(TYPE)                                                           \
__kernel void test_##TYPE(__global TYPE *C, __global TYPE *A, __global TYPE *B) { \
  int id = get_global_id(0);                                                      \
  C[id] = sub_sat(A[id], B[id]);                                                  \
}

TEST_TYPE(char)
TEST_TYPE(uchar)
TEST_TYPE(short)
TEST_TYPE(ushort)
TEST_TYPE(int)
TEST_TYPE(uint)
//TEST_TYPE(long)
//TEST_TYPE(ulong)

#undef TEST_TYPE
