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