26 #if defined(DATA_TYPE) && defined(VEC_SIZE) && defined(OFFSET) && defined(SCALE)
28 #define TYPE VEC_DATA_TYPE(DATA_TYPE, VEC_SIZE)
29 #define OFFSET_FLT ((float)OFFSET)
30 #define SCALE_FLT ((float)SCALE)
32 #if defined(NUM_CHANNELS)
77 const uint current_slice = get_global_id(2) % NUM_CHANNELS;
80 curr_mean_flt = (
VEC_DATA_TYPE(
float,
VEC_SIZE))(*((__global DATA_TYPE *)(mean.
ptr + current_slice *
sizeof(DATA_TYPE))));
81 curr_mean_flt =
round(curr_mean_flt - OFFSET_FLT) * SCALE_FLT;
84 curr_std_flt = (
VEC_DATA_TYPE(
float,
VEC_SIZE))(*((__global DATA_TYPE *)(std.
ptr + current_slice *
sizeof(DATA_TYPE))));
85 curr_std_flt =
round(curr_std_flt - OFFSET_FLT) * SCALE_FLT;
89 data_flt =
round(data_flt - OFFSET_FLT) * SCALE_FLT;
93 res_flt = (data_flt - curr_mean_flt) / curr_std_flt;
97 (res_u8, 0, (__global DATA_TYPE *)
dst.ptr);
100 #endif // defined(NUM_CHANNELS)
101 #endif // defined(DATA_TYPE) && defined(VEC_SIZE) && defined(OFFSET) && defined(SCALE)