@@ -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);
|
||||
|
||||
新しいイシューから参照
ユーザーをブロックする