| #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); |
| } |
| #elif __CLC_FPSIZE == 32 |
| _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(uint, __CLC_VECSIZE) code) |
| { |
| return __CLC_AS_GENTYPE(code | 0x7fc00000); |
| } |
| #elif __CLC_FPSIZE == 16 |
| _CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(ushort, __CLC_VECSIZE) code) |
| { |
| const ushort mask = 0x7e00; |
| const __CLC_XCONCAT(ushort, __CLC_VECSIZE) res = code | mask; |
| return __CLC_AS_GENTYPE(res); |
| } |
| #endif |
| |
| |
| #ifdef __CLC_SCALAR |
| #undef __CLC_VECSIZE |
| #endif |