diff options
Diffstat (limited to 'libclc/generic/lib/math')
| -rw-r--r-- | libclc/generic/lib/math/nan.cl | 6 | ||||
| -rw-r--r-- | libclc/generic/lib/math/nan.inc | 20 |
2 files changed, 26 insertions, 0 deletions
diff --git a/libclc/generic/lib/math/nan.cl b/libclc/generic/lib/math/nan.cl new file mode 100644 index 00000000000..03752ab2d23 --- /dev/null +++ b/libclc/generic/lib/math/nan.cl @@ -0,0 +1,6 @@ +#include <clc/clc.h> +#include "utils.h" + +#define __CLC_AS_GENTYPE __CLC_XCONCAT(as_, __CLC_GENTYPE) +#define __CLC_BODY <nan.inc> +#include <clc/math/gentype.inc> diff --git a/libclc/generic/lib/math/nan.inc b/libclc/generic/lib/math/nan.inc new file mode 100644 index 00000000000..6e4afc888d5 --- /dev/null +++ b/libclc/generic/lib/math/nan.inc @@ -0,0 +1,20 @@ +#ifdef __CLC_SCALAR +#define __CLC_VECSIZE +#endif + +#if __CLC_FPSIZE == 64 +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(ulong, __CLC_VECSIZE) code) +{ + return __CLC_AS_GENTYPE(code | 0x7ff0000000000000ul); +} +#else +_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(uint, __CLC_VECSIZE) code) +{ + return __CLC_AS_GENTYPE(code | 0x7fc00000); +} +#endif + + +#ifdef __CLC_SCALAR +#undef __CLC_VECSIZE +#endif |

