45 lines · plain
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include <clc/integer/clc_upsample.h>10#include <clc/opencl/integer/upsample.h>11 12#define __CLC_UPSAMPLE_IMPL(BGENTYPE, GENTYPE, UGENTYPE) \13 _CLC_OVERLOAD _CLC_DEF BGENTYPE upsample(GENTYPE hi, UGENTYPE lo) { \14 return __clc_upsample(hi, lo); \15 } \16 _CLC_OVERLOAD _CLC_DEF BGENTYPE##2 upsample(GENTYPE##2 hi, UGENTYPE##2 lo) { \17 return __clc_upsample(hi, lo); \18 } \19 _CLC_OVERLOAD _CLC_DEF BGENTYPE##3 upsample(GENTYPE##3 hi, UGENTYPE##3 lo) { \20 return __clc_upsample(hi, lo); \21 } \22 _CLC_OVERLOAD _CLC_DEF BGENTYPE##4 upsample(GENTYPE##4 hi, UGENTYPE##4 lo) { \23 return __clc_upsample(hi, lo); \24 } \25 _CLC_OVERLOAD _CLC_DEF BGENTYPE##8 upsample(GENTYPE##8 hi, UGENTYPE##8 lo) { \26 return __clc_upsample(hi, lo); \27 } \28 _CLC_OVERLOAD _CLC_DEF BGENTYPE##16 upsample(GENTYPE##16 hi, \29 UGENTYPE##16 lo) { \30 return __clc_upsample(hi, lo); \31 }32 33#define __CLC_UPSAMPLE_TYPES() \34 __CLC_UPSAMPLE_IMPL(short, char, uchar) \35 __CLC_UPSAMPLE_IMPL(ushort, uchar, uchar) \36 __CLC_UPSAMPLE_IMPL(int, short, ushort) \37 __CLC_UPSAMPLE_IMPL(uint, ushort, ushort) \38 __CLC_UPSAMPLE_IMPL(long, int, uint) \39 __CLC_UPSAMPLE_IMPL(ulong, uint, uint)40 41__CLC_UPSAMPLE_TYPES()42 43#undef __CLC_UPSAMPLE_TYPES44#undef __CLC_UPSAMPLE_IMPL45