Home | History | Annotate | Download | only in cuda

Lines Matching full:template

50 template<typename TBase> inline __host__ __device__ TBase _pixMaxVal();
51 template<> inline __host__ __device__ Ncv8u _pixMaxVal<Ncv8u>() {return UCHAR_MAX;}
52 template<> inline __host__ __device__ Ncv16u _pixMaxVal<Ncv16u>() {return USHRT_MAX;}
53 template<> inline __host__ __device__ Ncv32u _pixMaxVal<Ncv32u>() {return UINT_MAX;}
54 template<> inline __host__ __device__ Ncv8s _pixMaxVal<Ncv8s>() {return SCHAR_MAX;}
55 template<> inline __host__ __device__ Ncv16s _pixMaxVal<Ncv16s>() {return SHRT_MAX;}
56 template<> inline __host__ __device__ Ncv32s _pixMaxVal<Ncv32s>() {return INT_MAX;}
57 template<> inline __host__ __device__ Ncv32f _pixMaxVal<Ncv32f>() {return FLT_MAX;}
58 template<> inline __host__ __device__ Ncv64f _pixMaxVal<Ncv64f>() {return DBL_MAX;}
60 template<typename TBase> inline __host__ __device__ TBase _pixMinVal();
61 template<> inline __host__ __device__ Ncv8u _pixMinVal<Ncv8u>() {return 0;}
62 template<> inline __host__ __device__ Ncv16u _pixMinVal<Ncv16u>() {return 0;}
63 template<> inline __host__ __device__ Ncv32u _pixMinVal<Ncv32u>() {return 0;}
64 template<> inline __host__ __device__ Ncv8s _pixMinVal<Ncv8s>() {return SCHAR_MIN;}
65 template<> inline __host__ __device__ Ncv16s _pixMinVal<Ncv16s>() {return SHRT_MIN;}
66 template<> inline __host__ __device__ Ncv32s _pixMinVal<Ncv32s>() {return INT_MIN;}
67 template<> inline __host__ __device__ Ncv32f _pixMinVal<Ncv32f>() {return FLT_MIN;}
68 template<> inline __host__ __device__ Ncv64f _pixMinVal<Ncv64f>() {return DBL_MIN;}
70 template<typename Tvec> struct TConvVec2Base;
71 template<> struct TConvVec2Base<uchar1> {typedef Ncv8u TBase;};
72 template<> struct TConvVec2Base<uchar3> {typedef Ncv8u TBase;};
73 template<> struct TConvVec2Base<uchar4> {typedef Ncv8u TBase;};
74 template<> struct TConvVec2Base<ushort1> {typedef Ncv16u TBase;};
75 template<> struct TConvVec2Base<ushort3> {typedef Ncv16u TBase;};
76 template<> struct TConvVec2Base<ushort4> {typedef Ncv16u TBase;};
77 template<> struct TConvVec2Base<uint1> {typedef Ncv32u TBase;};
78 template<> struct TConvVec2Base<uint3> {typedef Ncv32u TBase;};
79 template<> struct TConvVec2Base<uint4> {typedef Ncv32u TBase;};
80 template<> struct TConvVec2Base<float1> {typedef Ncv32f TBase;};
81 template<> struct TConvVec2Base<float3> {typedef Ncv32f TBase;};
82 template<> struct TConvVec2Base<float4> {typedef Ncv32f TBase;};
83 template<> struct TConvVec2Base<double1> {typedef Ncv64f TBase;};
84 template<> struct TConvVec2Base<double3> {typedef Ncv64f TBase;};
85 template<> struct TConvVec2Base<double4> {typedef Ncv64f TBase;};
89 template<typename TBase, Ncv32u NC> struct TConvBase2Vec;
90 template<> struct TConvBase2Vec<Ncv8u, 1> {typedef uchar1 TVec;};
91 template<> struct TConvBase2Vec<Ncv8u, 3> {typedef uchar3 TVec;};
92 template<> struct TConvBase2Vec<Ncv8u, 4> {typedef uchar4 TVec;};
93 template<> struct TConvBase2Vec<Ncv16u, 1> {typedef ushort1 TVec;};
94 template<> struct TConvBase2Vec<Ncv16u, 3> {typedef ushort3 TVec;};
95 template<> struct TConvBase2Vec<Ncv16u, 4> {typedef ushort4 TVec;};
96 template<> struct TConvBase2Vec<Ncv32u, 1> {typedef uint1 TVec;};
97 template<> struct TConvBase2Vec<Ncv32u, 3> {typedef uint3 TVec;};
98 template<> struct TConvBase2Vec<Ncv32u, 4> {typedef uint4 TVec;};
99 template<> struct TConvBase2Vec<Ncv32f, 1> {typedef float1 TVec;};
100 template<> struct TConvBase2Vec<Ncv32f, 3> {typedef float3 TVec;};
101 template<> struct TConvBase2Vec<Ncv32f, 4> {typedef float4 TVec;};
102 template<> struct TConvBase2Vec<Ncv64f, 1> {typedef double1 TVec;};
103 template<> struct TConvBase2Vec<Ncv64f, 3> {typedef double3 TVec;};
104 template<> struct TConvBase2Vec<Ncv64f, 4> {typedef double4 TVec;};
107 template<typename Tin> inline __host__ __device__ void _TDemoteClampZ(Tin &a, Ncv8u &out) {out = (Ncv8u)CLAMP_0_255(a);}
108 template<typename Tin> inline __host__ __device__ void _TDemoteClampZ(Tin &a, Ncv16u &out) {out = (Ncv16u)CLAMP(a, 0, USHRT_MAX);}
109 template<typename Tin> inline __host__ __device__ void _TDemoteClampZ(Tin &a, Ncv32u &out) {out = (Ncv32u)CLAMP(a, 0, UINT_MAX);}
110 template<typename Tin> inline __host__ __device__ void _TDemoteClampZ(Tin &a, Ncv32f &out) {out = (Ncv32f)a;}
113 template<typename Tin> inline __host__ __device__ void _TDemoteClampNN(Tin &a, Ncv8u &out) {out = (Ncv8u)CLAMP_0_255(a+0.5f);}
114 template<typename Tin> inline __host__ __device__ void _TDemoteClampNN(Tin &a, Ncv16u &out) {out = (Ncv16u)CLAMP(a+0.5f, 0, USHRT_MAX);}
115 template<typename Tin> inline __host__ __device__ void _TDemoteClampNN(Tin &a, Ncv32u &out) {out = (Ncv32u)CLAMP(a+0.5f, 0, UINT_MAX);}
116 template<typename Tin> inline __host__ __device__ void _TDemoteClampNN(Tin &a, Ncv32f &out) {out = (Ncv32f)a;}
118 template<typename Tout> inline Tout _pixMakeZero();
119 template<> inline __host__ __device__ uchar1 _pixMakeZero<uchar1>() {return make_uchar1(0);}
120 template<> inline __host__ __device__ uchar3 _pixMakeZero<uchar3>() {return make_uchar3(0,0,0);}
121 template<> inline __host__ __device__ uchar4 _pixMakeZero<uchar4>() {return make_uchar4(0,0,0,0);}
122 template<> inline __host__ __device__ ushort1 _pixMakeZero<ushort1>() {return make_ushort1(0);}
123 template<> inline __host__ __device__ ushort3 _pixMakeZero<ushort3>() {return make_ushort3(0,0,0);}
124 template<> inline __host__ __device__ ushort4 _pixMakeZero<ushort4>() {return make_ushort4(0,0,0,0);}
125 template<> inline __host__ __device__ uint1 _pixMakeZero<uint1>() {return make_uint1(0);}
126 template<> inline __host__ __device__ uint3 _pixMakeZero<uint3>() {return make_uint3(0,0,0);}
127 template<> inline __host__ __device__ uint4 _pixMakeZero<uint4>() {return make_uint4(0,0,0,0);}
128 template<> inline __host__ __device__ float1 _pixMakeZero<float1>() {return make_float1(0.f);}
129 template<> inline __host__ __device__ float3 _pixMakeZero<float3>() {return make_float3(0.f,0.f,0.f);}
130 template<> inline __host__ __device__ float4 _pixMakeZero<float4>() {return make_float4(0.f,0.f,0.f,0.f);}
131 template<> inline __host__ __device__ double1 _pixMakeZero<double1>() {return make_double1(0.);}
132 template<> inline __host__ __device__ double3 _pixMakeZero<double3>() {return make_double3(0.,0.,0.);}
133 template<> inline __host__ __device__ double4 _pixMakeZero<double4>() {return make_double4(0.,0.,0.,0.);}
152 template<typename Tin, typename Tout, Ncv32u CN> struct __pixDemoteClampZ_CN {static __host__ __device__ Tout _pixDemoteClampZ_CN(Tin &pix);};
154 template<typename Tin, typename Tout> struct __pixDemoteClampZ_CN<Tin, Tout, 1> {
162 template<typename Tin, typename Tout> struct __pixDemoteClampZ_CN<Tin, Tout, 3> {
172 template<typename Tin, typename Tout> struct __pixDemoteClampZ_CN<Tin, Tout, 4> {
183 template<typename Tin, typename Tout> inline __host__ __device__ Tout _pixDemoteClampZ(Tin &pix)
189 template<typename Tin, typename Tout, Ncv32u CN> struct __pixDemoteClampNN_CN {static __host__ __device__ Tout _pixDemoteClampNN_CN(Tin &pix);};
191 template<typename Tin, typename Tout> struct __pixDemoteClampNN_CN<Tin, Tout, 1> {
199 template<typename Tin, typename Tout> struct __pixDemoteClampNN_CN<Tin, Tout, 3> {
209 template<typename Tin, typename Tout> struct __pixDemoteClampNN_CN<Tin, Tout, 4> {
220 template<typename Tin, typename Tout> inline __host__ __device__ Tout _pixDemoteClampNN(Tin &pix)
226 template<typename Tin, typename Tout, typename Tw, Ncv32u CN> struct __pixScale_CN {static __host__ __device__ Tout _pixScale_CN(Tin &pix, Tw w);};
228 template<typename Tin, typename Tout, typename Tw> struct __pixScale_CN<Tin, Tout, Tw, 1> {
237 template<typename Tin, typename Tout, typename Tw> struct __pixScale_CN<Tin, Tout, Tw, 3> {
248 template<typename Tin, typename Tout, typename Tw> struct __pixScale_CN<Tin, Tout, Tw, 4> {
260 template<typename Tin, typename Tout, typename Tw> static __host__ __device__ Tout _pixScale(Tin &pix, Tw w)
266 template<typename Tin, typename Tout, Ncv32u CN> struct __pixAdd_CN {static __host__ __device__ Tout _pixAdd_CN(Tout &pix1, Tin &pix2);};
268 template<typename Tin, typename Tout> struct __pixAdd_CN<Tin, Tout, 1> {
276 template<typename Tin, typename Tout> struct __pixAdd_CN<Tin, Tout, 3> {
286 template<typename Tin, typename Tout> struct __pixAdd_CN<Tin, Tout, 4> {
297 template<typename Tin, typename Tout> static __host__ __device__ Tout _pixAdd(Tout &pix1, Tin &pix2)
303 template<typename Tin, typename Tout, Ncv32u CN> struct __pixDist_CN {static __host__ __device__ Tout _pixDist_CN(Tin &pix1, Tin &pix2);};
305 template<typename Tin, typename Tout> struct __pixDist_CN<Tin, Tout, 1> {
311 template<typename Tin, typename Tout> struct __pixDist_CN<Tin, Tout, 3> {
317 template<typename Tin, typename Tout> struct __pixDist_CN<Tin, Tout, 4> {
323 template<typename Tin, typename Tout> static __host__ __device__ Tout _pixDist(Tin &pix1, Tin &pix2)
329 template <typename T> struct TAccPixWeighted;
330 template<> struct TAccPixWeighted<uchar1> {typedef double1 type;};
331 template<> struct TAccPixWeighted<uchar3> {typedef double3 type;};
332 template<> struct TAccPixWeighted<uchar4> {typedef double4 type;};
333 template<> struct TAccPixWeighted<ushort1> {typedef double1 type;};
334 template<> struct TAccPixWeighted<ushort3> {typedef double3 type;};
335 template<> struct TAccPixWeighted<ushort4> {typedef double4 type;};
336 template
337 template<> struct TAccPixWeighted<float3> {typedef double3 type;};
338 template<> struct TAccPixWeighted<float4> {typedef double4 type;};
340 template<typename Tfrom> struct TAccPixDist {};
341 template<> struct TAccPixDist<uchar1> {typedef Ncv32u type;};
342 template<> struct TAccPixDist<uchar3> {typedef Ncv32u type;};
343 template<> struct TAccPixDist<uchar4> {typedef Ncv32u type;};
344 template<> struct TAccPixDist<ushort1> {typedef Ncv32u type;};
345 template<> struct TAccPixDist<ushort3> {typedef Ncv32u type;};
346 template<> struct TAccPixDist<ushort4> {typedef Ncv32u type;};
347 template<> struct TAccPixDist<float1> {typedef Ncv32f type;};
348 template<> struct TAccPixDist<float3> {typedef Ncv32f type;};
349 template<> struct TAccPixDist<float4> {typedef Ncv32f type;};