1#ifdef __CLC_SCALAR 2#define __CLC_VECSIZE 3#endif 4 5#if __CLC_FPSIZE == 64 6_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(ulong, __CLC_VECSIZE) code) 7{ 8 return __CLC_AS_GENTYPE(code | 0x7ff0000000000000ul); 9} 10#elif __CLC_FPSIZE == 32 11_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(uint, __CLC_VECSIZE) code) 12{ 13 return __CLC_AS_GENTYPE(code | 0x7fc00000); 14} 15#elif __CLC_FPSIZE == 16 16_CLC_OVERLOAD _CLC_DEF __CLC_GENTYPE nan(__CLC_XCONCAT(ushort, __CLC_VECSIZE) code) 17{ 18 const ushort mask = 0x7e00; 19 const __CLC_XCONCAT(ushort, __CLC_VECSIZE) res = code | mask; 20 return __CLC_AS_GENTYPE(res); 21} 22#endif 23 24 25#ifdef __CLC_SCALAR 26#undef __CLC_VECSIZE 27#endif 28