1#define __CLC_FLOAT float
2#define __CLC_FPSIZE 32
3
4#define __CLC_FLOATN float
5#define __CLC_SCALAR
6#include __CLC_BODY
7#undef __CLC_FLOATN
8#undef __CLC_SCALAR
9
10#define __CLC_FLOATN float2
11#include __CLC_BODY
12#undef __CLC_FLOATN
13
14#define __CLC_FLOATN float3
15#include __CLC_BODY
16#undef __CLC_FLOATN
17
18#define __CLC_FLOATN float4
19#include __CLC_BODY
20#undef __CLC_FLOATN
21
22#define __CLC_FLOATN float8
23#include __CLC_BODY
24#undef __CLC_FLOATN
25
26#define __CLC_FLOATN float16
27#include __CLC_BODY
28#undef __CLC_FLOATN
29
30#undef __CLC_FLOAT
31#undef __CLC_FPSIZE
32
33#ifndef __FLOAT_ONLY
34#ifdef cl_khr_fp64
35
36#define __CLC_FLOAT double
37#define __CLC_FPSIZE 64
38
39#define __CLC_FLOATN double
40#define __CLC_SCALAR
41#include __CLC_BODY
42#undef __CLC_FLOATN
43#undef __CLC_SCALAR
44
45#define __CLC_FLOATN double2
46#include __CLC_BODY
47#undef __CLC_FLOATN
48
49#define __CLC_FLOATN double3
50#include __CLC_BODY
51#undef __CLC_FLOATN
52
53#define __CLC_FLOATN double4
54#include __CLC_BODY
55#undef __CLC_FLOATN
56
57#define __CLC_FLOATN double8
58#include __CLC_BODY
59#undef __CLC_FLOATN
60
61#define __CLC_FLOATN double16
62#include __CLC_BODY
63#undef __CLC_FLOATN
64
65#undef __CLC_FLOAT
66#undef __CLC_FPSIZE
67
68#endif
69#endif
70
71#undef __CLC_BODY
72