Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
vector_functions.hpp317 linesDownload Raw Back to include
1/*
2 * Copyright 1993-2014 NVIDIA Corporation.  All rights reserved.
3 *
4 * NOTICE TO LICENSEE:
5 *
6 * This source code and/or documentation ("Licensed Deliverables") are
7 * subject to NVIDIA intellectual property rights under U.S. and
8 * international Copyright laws.
9 *
10 * These Licensed Deliverables contained herein is PROPRIETARY and
11 * CONFIDENTIAL to NVIDIA and is being provided under the terms and
12 * conditions of a form of NVIDIA software license agreement by and
13 * between NVIDIA and Licensee ("License Agreement") or electronically
14 * accepted by Licensee.  Notwithstanding any terms or conditions to
15 * the contrary in the License Agreement, reproduction or disclosure
16 * of the Licensed Deliverables to any third party without the express
17 * written consent of NVIDIA is prohibited.
18 *
19 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
20 * LICENSE AGREEMENT, NVIDIA MAKES NO REPRESENTATION ABOUT THE
21 * SUITABILITY OF THESE LICENSED DELIVERABLES FOR ANY PURPOSE.  IT IS
22 * PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.
23 * NVIDIA DISCLAIMS ALL WARRANTIES WITH REGARD TO THESE LICENSED
24 * DELIVERABLES, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY,
25 * NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PURPOSE.
26 * NOTWITHSTANDING ANY TERMS OR CONDITIONS TO THE CONTRARY IN THE
27 * LICENSE AGREEMENT, IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY
28 * SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY
29 * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
30 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
31 * ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
32 * OF THESE LICENSED DELIVERABLES.
33 *
34 * U.S. Government End Users.  These Licensed Deliverables are a
35 * "commercial item" as that term is defined at 48 C.F.R. 2.101 (OCT
36 * 1995), consisting of "commercial computer software" and "commercial
37 * computer software documentation" as such terms are used in 48
38 * C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Government
39 * only as a commercial end item.  Consistent with 48 C.F.R.12.212 and
40 * 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), all
41 * U.S. Government End Users acquire the Licensed Deliverables with
42 * only those rights set forth herein.
43 *
44 * Any use of the Licensed Deliverables in individual and commercial
45 * software must include, in the user documentation and internal
46 * comments to the code, the above Disclaimer and U.S. Government End
47 * Users Notice.
48 */
49
50#if !defined(__VECTOR_FUNCTIONS_HPP__)
51#define __VECTOR_FUNCTIONS_HPP__
52
53/*******************************************************************************
54*                                                                              *
55*                                                                              *
56*                                                                              *
57*******************************************************************************/
58
59#include "cuda_runtime_api.h"
60
61#if defined(__CUDACC_RTC__)
62#define __VECTOR_FUNCTIONS_DECL__ __host__ __device__
63#else /* !__CUDACC_RTC__ */
64#define __VECTOR_FUNCTIONS_DECL__ static __inline__ __host__ __device__
65#endif /* __CUDACC_RTC__ */
66
67/*******************************************************************************
68*                                                                              *
69*                                                                              *
70*                                                                              *
71*******************************************************************************/
72
73__VECTOR_FUNCTIONS_DECL__ char1 make_char1(signed char x)
74{
75  char1 t; t.x = x; return t;
76}
77
78__VECTOR_FUNCTIONS_DECL__ uchar1 make_uchar1(unsigned char x)
79{
80  uchar1 t; t.x = x; return t;
81}
82
83__VECTOR_FUNCTIONS_DECL__ char2 make_char2(signed char x, signed char y)
84{
85  char2 t; t.x = x; t.y = y; return t;
86}
87
88__VECTOR_FUNCTIONS_DECL__ uchar2 make_uchar2(unsigned char x, unsigned char y)
89{
90  uchar2 t; t.x = x; t.y = y; return t;
91}
92
93__VECTOR_FUNCTIONS_DECL__ char3 make_char3(signed char x, signed char y, signed char z)
94{
95  char3 t; t.x = x; t.y = y; t.z = z; return t;
96}
97
98__VECTOR_FUNCTIONS_DECL__ uchar3 make_uchar3(unsigned char x, unsigned char y, unsigned char z)
99{
100  uchar3 t; t.x = x; t.y = y; t.z = z; return t;
101}
102
103__VECTOR_FUNCTIONS_DECL__ char4 make_char4(signed char x, signed char y, signed char z, signed char w)
104{
105  char4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
106}
107
108__VECTOR_FUNCTIONS_DECL__ uchar4 make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w)
109{
110  uchar4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
111}
112
113__VECTOR_FUNCTIONS_DECL__ short1 make_short1(short x)
114{
115  short1 t; t.x = x; return t;
116}
117
118__VECTOR_FUNCTIONS_DECL__ ushort1 make_ushort1(unsigned short x)
119{
120  ushort1 t; t.x = x; return t;
121}
122
123__VECTOR_FUNCTIONS_DECL__ short2 make_short2(short x, short y)
124{
125  short2 t; t.x = x; t.y = y; return t;
126}
127
128__VECTOR_FUNCTIONS_DECL__ ushort2 make_ushort2(unsigned short x, unsigned short y)
129{
130  ushort2 t; t.x = x; t.y = y; return t;
131}
132
133__VECTOR_FUNCTIONS_DECL__ short3 make_short3(short x,short y, short z)
134{ 
135  short3 t; t.x = x; t.y = y; t.z = z; return t;
136}
137
138__VECTOR_FUNCTIONS_DECL__ ushort3 make_ushort3(unsigned short x, unsigned short y, unsigned short z)
139{
140  ushort3 t; t.x = x; t.y = y; t.z = z; return t;
141}
142
143__VECTOR_FUNCTIONS_DECL__ short4 make_short4(short x, short y, short z, short w)
144{
145  short4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
146}
147
148__VECTOR_FUNCTIONS_DECL__ ushort4 make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w)
149{
150  ushort4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
151}
152
153__VECTOR_FUNCTIONS_DECL__ int1 make_int1(int x)
154{
155  int1 t; t.x = x; return t;
156}
157
158__VECTOR_FUNCTIONS_DECL__ uint1 make_uint1(unsigned int x)
159{
160  uint1 t; t.x = x; return t;
161}
162
163__VECTOR_FUNCTIONS_DECL__ int2 make_int2(int x, int y)
164{
165  int2 t; t.x = x; t.y = y; return t;
166}
167
168__VECTOR_FUNCTIONS_DECL__ uint2 make_uint2(unsigned int x, unsigned int y)
169{
170  uint2 t; t.x = x; t.y = y; return t;
171}
172
173__VECTOR_FUNCTIONS_DECL__ int3 make_int3(int x, int y, int z)
174{
175  int3 t; t.x = x; t.y = y; t.z = z; return t;
176}
177
178__VECTOR_FUNCTIONS_DECL__ uint3 make_uint3(unsigned int x, unsigned int y, unsigned int z)
179{
180  uint3 t; t.x = x; t.y = y; t.z = z; return t;
181}
182
183__VECTOR_FUNCTIONS_DECL__ int4 make_int4(int x, int y, int z, int w)
184{
185  int4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
186}
187
188__VECTOR_FUNCTIONS_DECL__ uint4 make_uint4(unsigned int x, unsigned int y, unsigned int z, unsigned int w)
189{
190  uint4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
191}
192
193__VECTOR_FUNCTIONS_DECL__ long1 make_long1(long int x)
194{
195  long1 t; t.x = x; return t;
196}
197
198__VECTOR_FUNCTIONS_DECL__ ulong1 make_ulong1(unsigned long int x)
199{
200  ulong1 t; t.x = x; return t;
201}
202
203__VECTOR_FUNCTIONS_DECL__ long2 make_long2(long int x, long int y)
204{
205  long2 t; t.x = x; t.y = y; return t;
206}
207
208__VECTOR_FUNCTIONS_DECL__ ulong2 make_ulong2(unsigned long int x, unsigned long int y)
209{
210  ulong2 t; t.x = x; t.y = y; return t;
211}
212
213__VECTOR_FUNCTIONS_DECL__ long3 make_long3(long int x, long int y, long int z)
214{
215  long3 t; t.x = x; t.y = y; t.z = z; return t;
216}
217
218__VECTOR_FUNCTIONS_DECL__ ulong3 make_ulong3(unsigned long int x, unsigned long int y, unsigned long int z)
219{
220  ulong3 t; t.x = x; t.y = y; t.z = z; return t;
221}
222
223__VECTOR_FUNCTIONS_DECL__ long4 make_long4(long int x, long int y, long int z, long int w)
224{
225  long4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
226}
227
228__VECTOR_FUNCTIONS_DECL__ ulong4 make_ulong4(unsigned long int x, unsigned long int y, unsigned long int z, unsigned long int w)
229{
230  ulong4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
231}
232
233__VECTOR_FUNCTIONS_DECL__ float1 make_float1(float x)
234{
235  float1 t; t.x = x; return t;
236}
237
238__VECTOR_FUNCTIONS_DECL__ float2 make_float2(float x, float y)
239{
240  float2 t; t.x = x; t.y = y; return t;
241}
242
243__VECTOR_FUNCTIONS_DECL__ float3 make_float3(float x, float y, float z)
244{
245  float3 t; t.x = x; t.y = y; t.z = z; return t;
246}
247
248__VECTOR_FUNCTIONS_DECL__ float4 make_float4(float x, float y, float z, float w)
249{
250  float4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
251}
252
253__VECTOR_FUNCTIONS_DECL__ longlong1 make_longlong1(long long int x)
254{
255  longlong1 t; t.x = x; return t;
256}
257
258__VECTOR_FUNCTIONS_DECL__ ulonglong1 make_ulonglong1(unsigned long long int x)
259{
260  ulonglong1 t; t.x = x; return t;
261}
262
263__VECTOR_FUNCTIONS_DECL__ longlong2 make_longlong2(long long int x, long long int y)
264{
265  longlong2 t; t.x = x; t.y = y; return t;
266}
267
268__VECTOR_FUNCTIONS_DECL__ ulonglong2 make_ulonglong2(unsigned long long int x, unsigned long long int y)
269{
270  ulonglong2 t; t.x = x; t.y = y; return t;
271}
272
273__VECTOR_FUNCTIONS_DECL__ longlong3 make_longlong3(long long int x, long long int y, long long int z)
274{
275  longlong3 t; t.x = x; t.y = y; t.z = z; return t;
276}
277
278__VECTOR_FUNCTIONS_DECL__ ulonglong3 make_ulonglong3(unsigned long long int x, unsigned long long int y, unsigned long long int z)
279{
280  ulonglong3 t; t.x = x; t.y = y; t.z = z; return t;
281}
282
283__VECTOR_FUNCTIONS_DECL__ longlong4 make_longlong4(long long int x, long long int y, long long int z, long long int w)
284{
285  longlong4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
286}
287
288__VECTOR_FUNCTIONS_DECL__ ulonglong4 make_ulonglong4(unsigned long long int x, unsigned long long int y, unsigned long long int z, unsigned long long int w)
289{
290  ulonglong4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
291}
292
293__VECTOR_FUNCTIONS_DECL__ double1 make_double1(double x)
294{
295  double1 t; t.x = x; return t;
296}
297
298__VECTOR_FUNCTIONS_DECL__ double2 make_double2(double x, double y)
299{
300  double2 t; t.x = x; t.y = y; return t;
301}
302
303__VECTOR_FUNCTIONS_DECL__ double3 make_double3(double x, double y, double z)
304{
305  double3 t; t.x = x; t.y = y; t.z = z; return t;
306}
307
308__VECTOR_FUNCTIONS_DECL__ double4 make_double4(double x, double y, double z, double w)
309{
310  double4 t; t.x = x; t.y = y; t.z = z; t.w = w; return t;
311}
312
313#undef __VECTOR_FUNCTIONS_DECL__
314
315#endif /* !__VECTOR_FUNCTIONS_HPP__ */
316
317 
codekingpro/portable-devtools · Team Ai