• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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