Aaron Watry | d7f022a | 2014-07-17 22:07:32 +0000 | [diff] [blame] | 1 | #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 |