[ROCm/hip commit: fe9859b79f]
このコミットが含まれているのは:
Alex Voicu
2018-07-17 17:24:48 +01:00
コミット 4344651b8a
+23 -51
ファイルの表示
@@ -683,60 +683,32 @@ __MAKE_VECTOR_TYPE__(longlong, long long);
__MAKE_VECTOR_TYPE__(float, float);
__MAKE_VECTOR_TYPE__(double, double);
#if defined(__cplusplus)
#define DECLOP_MAKE_ONE_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x) { return type{x}; }
#define DECLOP_MAKE_ONE_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x) { type r = {x}; return r; }
#define DECLOP_MAKE_TWO_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y) { return type{x, y}; }
#define DECLOP_MAKE_TWO_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y) { type r = {x, y}; return r; }
#define DECLOP_MAKE_THREE_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y, comp z) { return type{x, y, z}; }
#define DECLOP_MAKE_THREE_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y, comp z) { type r = {x, y, z}; return r; }
#define DECLOP_MAKE_FOUR_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y, comp z, comp w) { \
return type{x, y, z, w}; \
}
#else
#define DECLOP_MAKE_ONE_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x) { type r = {x}; return r; }
#define DECLOP_MAKE_TWO_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y) { type r = {x, y}; return r; }
#define DECLOP_MAKE_THREE_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y, comp z) { type r = {x, y, z}; return r; }
#define DECLOP_MAKE_FOUR_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y, comp z, comp w) { \
type r = {x, y, z, w}; \
return r; \
}
#endif
#define DECLOP_MAKE_FOUR_COMPONENT(comp, type) \
__device__ __host__ \
static \
inline \
type make_##type(comp x, comp y, comp z, comp w) { \
type r = {x, y, z, w}; \
return r; \
}
DECLOP_MAKE_ONE_COMPONENT(unsigned char, uchar1);
DECLOP_MAKE_TWO_COMPONENT(unsigned char, uchar2);