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#undef __CLC_FLOAT 23#undef __CLC_FPSIZE 24 25#ifndef __FLOAT_ONLY 26#ifdef cl_khr_fp64 27#pragma OPENCL EXTENSION cl_khr_fp64 : enable 28 29#define __CLC_FLOAT double 30#define __CLC_FPSIZE 64 31 32#define __CLC_FLOATN double 33#define __CLC_SCALAR 34#include __CLC_BODY 35#undef __CLC_FLOATN 36#undef __CLC_SCALAR 37 38#define __CLC_FLOATN double2 39#include __CLC_BODY 40#undef __CLC_FLOATN 41 42#define __CLC_FLOATN double3 43#include __CLC_BODY 44#undef __CLC_FLOATN 45 46#define __CLC_FLOATN double4 47#include __CLC_BODY 48#undef __CLC_FLOATN 49 50#undef __CLC_FLOAT 51#undef __CLC_FPSIZE 52 53#endif 54#endif 55 56#ifndef __FLOAT_ONLY 57#ifdef cl_khr_fp16 58#pragma OPENCL EXTENSION cl_khr_fp16 : enable 59 60#define __CLC_FLOAT half 61#define __CLC_FPSIZE 16 62 63#define __CLC_FLOATN half 64#define __CLC_SCALAR 65#include __CLC_BODY 66#undef __CLC_FLOATN 67#undef __CLC_SCALAR 68 69#define __CLC_FLOATN half2 70#include __CLC_BODY 71#undef __CLC_FLOATN 72 73#define __CLC_FLOATN half3 74#include __CLC_BODY 75#undef __CLC_FLOATN 76 77#define __CLC_FLOATN half4 78#include __CLC_BODY 79#undef __CLC_FLOATN 80 81#undef __CLC_FLOAT 82#undef __CLC_FPSIZE 83 84#endif 85#endif 86 87#undef __CLC_BODY 88