blob: 787fd8d53c20611690669e8df2371be8aa4f34b8 [file] [log] [blame]
Aaron Watryd7f022a2014-07-17 22:07:32 +00001#include <clc/clc.h>
2#include "relational.h"
3
4#define _CLC_DEFINE_ISNOTEQUAL(RET_TYPE, FUNCTION, ARG1_TYPE, ARG2_TYPE) \
5_CLC_DEF _CLC_OVERLOAD RET_TYPE FUNCTION(ARG1_TYPE x, ARG2_TYPE y) { \
6 return (x != y); \
7} \
8
9_CLC_DEFINE_ISNOTEQUAL(int, isnotequal, float, float)
10_CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(int, isnotequal, float, float)
11
12#ifdef cl_khr_fp64
13#pragma OPENCL EXTENSION cl_khr_fp64 : enable
14
15// The scalar version of isnotequal(double, double) returns an int, but the vector versions
16// return long.
17
18_CLC_DEFINE_ISNOTEQUAL(int, isnotequal, double, double)
19_CLC_DEFINE_RELATIONAL_BINARY_VEC_ALL(long, isnotequal, double, double)
20
21#endif
22
23#undef _CLC_DEFINE_ISNOTEQUAL