1 #define __CLC_UPSAMPLE_DECL(BGENTYPE, GENTYPE, UGENTYPE) \ 2 _CLC_OVERLOAD _CLC_DECL BGENTYPE upsample(GENTYPE hi, UGENTYPE lo); 3 4 #define __CLC_UPSAMPLE_VEC(BGENTYPE, GENTYPE, UGENTYPE) \ 5 __CLC_UPSAMPLE_DECL(BGENTYPE, GENTYPE, UGENTYPE) \ 6 __CLC_UPSAMPLE_DECL(BGENTYPE##2, GENTYPE##2, UGENTYPE##2) \ 7 __CLC_UPSAMPLE_DECL(BGENTYPE##3, GENTYPE##3, UGENTYPE##3) \ 8 __CLC_UPSAMPLE_DECL(BGENTYPE##4, GENTYPE##4, UGENTYPE##4) \ 9 __CLC_UPSAMPLE_DECL(BGENTYPE##8, GENTYPE##8, UGENTYPE##8) \ 10 __CLC_UPSAMPLE_DECL(BGENTYPE##16, GENTYPE##16, UGENTYPE##16) \ 11 12 #define __CLC_UPSAMPLE_TYPES() \ 13 __CLC_UPSAMPLE_VEC(short, char, uchar) \ 14 __CLC_UPSAMPLE_VEC(ushort, uchar, uchar) \ 15 __CLC_UPSAMPLE_VEC(int, short, ushort) \ 16 __CLC_UPSAMPLE_VEC(uint, ushort, ushort) \ 17 __CLC_UPSAMPLE_VEC(long, int, uint) \ 18 __CLC_UPSAMPLE_VEC(ulong, uint, uint) \ 19 20 __CLC_UPSAMPLE_TYPES() 21 22 #undef __CLC_UPSAMPLE_TYPES 23 #undef __CLC_UPSAMPLE_DECL 24 #undef __CLC_UPSAMPLE_VEC 25 26