1 #include
<clc
/internal
/clc.h
>
2 #include
<clc
/relational
/relational.h
>
4 // Note
: It would be nice to use __builtin_isgreater with vector inputs
, but it
5 // seems to only take scalar values as input
, which will produce incorrect
6 // output for vector input types.
8 _CLC_DEFINE_RELATIONAL_BINARY
(int, __clc_isgreater
, __builtin_isgreater
, float
,
13 #pragma OPENCL EXTENSION cl_khr_fp64
: enable
15 // The scalar version of __clc_isgreater
(double, double
) returns an int
, but the
16 // vector versions return long.
18 _CLC_DEF _CLC_OVERLOAD int __clc_isgreater
(double x
, double y
) {
19 return __builtin_isgreater
(x, y
);
22 _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL
(long, __clc_isgreater
, double
, double
)
28 #pragma OPENCL EXTENSION cl_khr_fp16
: enable
30 // The scalar version of __clc_isgreater
(half, half
) returns an int
, but the
31 // vector versions return short.
33 _CLC_DEF _CLC_OVERLOAD int __clc_isgreater
(half x
, half y
) {
34 return __builtin_isgreater
(x, y
);
37 _CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL
(short, __clc_isgreater
, half
, half
)