27 #define CONVERT_DOWN(x, type) CONVERT_SAT(x, type) 29 #define CONVERT_DOWN(x, type) CONVERT(x, type) 32 #define CONVERT_UP(x, type) CONVERT(x, type) 66 __global uchar *in_addr = in_ptr + in_offset_first_element_in_bytes +
sizeof(DATA_TYPE_IN) * x_offs + get_global_id(1) * in_stride_y + get_global_id(2) * in_stride_z;
67 __global uchar *out_addr = out_ptr + out_offset_first_element_in_bytes +
sizeof(DATA_TYPE_OUT) * x_offs + get_global_id(1) * out_stride_y + get_global_id(2) * out_stride_z;
71 in_data =
VLOAD(VEC_SIZE)(0, (__global DATA_TYPE_IN *)in_addr);
73 #if defined(IS_DATA_TYPE_QUANTIZED) 75 #endif // defined(IS_DATA_TYPE_QUANTIZED) 77 #if defined(IS_DATA_TYPE_FLOAT) 80 STORE_VECTOR_SELECT(res, DATA_TYPE_OUT, out_addr, VEC_SIZE, VEC_SIZE_LEFTOVER, VEC_SIZE_LEFTOVER != 0 && get_global_id(0) == 0)
84 STORE_VECTOR_SELECT(res, DATA_TYPE_OUT, out_addr, VEC_SIZE, VEC_SIZE_LEFTOVER, VEC_SIZE_LEFTOVER != 0 && get_global_id(0) == 0)
118 __global uchar *in_addr = in_ptr + in_offset_first_element_in_bytes +
sizeof(DATA_TYPE_IN) * x_offs + get_global_id(1) * in_stride_y + get_global_id(2) * in_stride_z;
119 __global uchar *out_addr = out_ptr + out_offset_first_element_in_bytes +
sizeof(DATA_TYPE_OUT) * x_offs + get_global_id(1) * out_stride_y + get_global_id(2) * out_stride_z;
123 in_data =
VLOAD(VEC_SIZE)(0, (__global DATA_TYPE_IN *)in_addr);
125 #if defined(IS_DATA_TYPE_FLOAT) 128 STORE_VECTOR_SELECT(res, DATA_TYPE_OUT, out_addr, VEC_SIZE, VEC_SIZE_LEFTOVER, VEC_SIZE_LEFTOVER != 0 && get_global_id(0) == 0)
132 STORE_VECTOR_SELECT(res, DATA_TYPE_OUT, out_addr, VEC_SIZE, VEC_SIZE_LEFTOVER, VEC_SIZE_LEFTOVER != 0 && get_global_id(0) == 0)
__kernel void cast_down(__global uchar *in_ptr, uint in_stride_x, uint in_step_x, uint in_stride_y, uint in_step_y, uint in_stride_z, uint in_step_z, uint in_offset_first_element_in_bytes, __global uchar *out_ptr, uint out_stride_x, uint out_step_x, uint out_stride_y, uint out_step_y, uint out_stride_z, uint out_step_z, uint out_offset_first_element_in_bytes)
This function performs a down-casting.
#define CONVERT_UP(x, type)
__kernel void cast_up(__global uchar *in_ptr, uint in_stride_x, uint in_step_x, uint in_stride_y, uint in_step_y, uint in_stride_z, uint in_step_z, uint in_offset_first_element_in_bytes, __global uchar *out_ptr, uint out_stride_x, uint out_step_x, uint out_stride_y, uint out_step_y, uint out_stride_z, uint out_step_z, uint out_offset_first_element_in_bytes)
This function performs a up-casting.
#define STORE_VECTOR_SELECT(basename, data_type, ptr, vec_size, leftover, cond)
Store a vector that can only be partial in x.
#define CONVERT_DOWN(x, type)
#define TENSOR3D_DECLARATION(name)
#define VEC_DATA_TYPE(type, size)