Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
vector_functions.h182 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_H__)
51#define __VECTOR_FUNCTIONS_H__
52
53/* NOTE: For NVRTC, these declarations have been moved into the compiler 
54   (to reduce compile time) */
55#define EXCLUDE_FROM_RTC
56
57/*******************************************************************************
58*                                                                              *
59*                                                                              *
60*                                                                              *
61*******************************************************************************/
62
63#include "cuda_runtime_api.h"
64
65#if defined(__CUDACC_RTC__)
66#define __VECTOR_FUNCTIONS_DECL__ __host__ __device__
67#else /* !__CUDACC_RTC__ */
68#define __VECTOR_FUNCTIONS_DECL__ static __inline__ __host__ __device__
69#endif /* __CUDACC_RTC__ */
70
71/*******************************************************************************
72*                                                                              *
73*                                                                              *
74*                                                                              *
75*******************************************************************************/
76
77__VECTOR_FUNCTIONS_DECL__ char1 make_char1(signed char x);
78
79__VECTOR_FUNCTIONS_DECL__ uchar1 make_uchar1(unsigned char x);
80
81__VECTOR_FUNCTIONS_DECL__ char2 make_char2(signed char x, signed char y);
82
83__VECTOR_FUNCTIONS_DECL__ uchar2 make_uchar2(unsigned char x, unsigned char y);
84
85__VECTOR_FUNCTIONS_DECL__ char3 make_char3(signed char x, signed char y, signed char z);
86
87__VECTOR_FUNCTIONS_DECL__ uchar3 make_uchar3(unsigned char x, unsigned char y, unsigned char z);
88
89__VECTOR_FUNCTIONS_DECL__ char4 make_char4(signed char x, signed char y, signed char z, signed char w);
90
91__VECTOR_FUNCTIONS_DECL__ uchar4 make_uchar4(unsigned char x, unsigned char y, unsigned char z, unsigned char w);
92
93__VECTOR_FUNCTIONS_DECL__ short1 make_short1(short x);
94
95__VECTOR_FUNCTIONS_DECL__ ushort1 make_ushort1(unsigned short x);
96
97__VECTOR_FUNCTIONS_DECL__ short2 make_short2(short x, short y);
98
99__VECTOR_FUNCTIONS_DECL__ ushort2 make_ushort2(unsigned short x, unsigned short y);
100
101__VECTOR_FUNCTIONS_DECL__ short3 make_short3(short x,short y, short z);
102
103__VECTOR_FUNCTIONS_DECL__ ushort3 make_ushort3(unsigned short x, unsigned short y, unsigned short z);
104
105__VECTOR_FUNCTIONS_DECL__ short4 make_short4(short x, short y, short z, short w);
106
107__VECTOR_FUNCTIONS_DECL__ ushort4 make_ushort4(unsigned short x, unsigned short y, unsigned short z, unsigned short w);
108
109__VECTOR_FUNCTIONS_DECL__ int1 make_int1(int x);
110
111__VECTOR_FUNCTIONS_DECL__ uint1 make_uint1(unsigned int x);
112
113__VECTOR_FUNCTIONS_DECL__ int2 make_int2(int x, int y);
114
115__VECTOR_FUNCTIONS_DECL__ uint2 make_uint2(unsigned int x, unsigned int y);
116
117__VECTOR_FUNCTIONS_DECL__ int3 make_int3(int x, int y, int z);
118
119__VECTOR_FUNCTIONS_DECL__ uint3 make_uint3(unsigned int x, unsigned int y, unsigned int z);
120
121__VECTOR_FUNCTIONS_DECL__ int4 make_int4(int x, int y, int z, int w);
122
123__VECTOR_FUNCTIONS_DECL__ uint4 make_uint4(unsigned int x, unsigned int y, unsigned int z, unsigned int w);
124
125__VECTOR_FUNCTIONS_DECL__ long1 make_long1(long int x);
126
127__VECTOR_FUNCTIONS_DECL__ ulong1 make_ulong1(unsigned long int x);
128
129__VECTOR_FUNCTIONS_DECL__ long2 make_long2(long int x, long int y);
130
131__VECTOR_FUNCTIONS_DECL__ ulong2 make_ulong2(unsigned long int x, unsigned long int y);
132
133__VECTOR_FUNCTIONS_DECL__ long3 make_long3(long int x, long int y, long int z);
134
135__VECTOR_FUNCTIONS_DECL__ ulong3 make_ulong3(unsigned long int x, unsigned long int y, unsigned long int z);
136
137__VECTOR_FUNCTIONS_DECL__ long4 make_long4(long int x, long int y, long int z, long int w);
138
139__VECTOR_FUNCTIONS_DECL__ ulong4 make_ulong4(unsigned long int x, unsigned long int y, unsigned long int z, unsigned long int w);
140
141__VECTOR_FUNCTIONS_DECL__ float1 make_float1(float x);
142
143__VECTOR_FUNCTIONS_DECL__ float2 make_float2(float x, float y);
144
145__VECTOR_FUNCTIONS_DECL__ float3 make_float3(float x, float y, float z);
146
147__VECTOR_FUNCTIONS_DECL__ float4 make_float4(float x, float y, float z, float w);
148
149__VECTOR_FUNCTIONS_DECL__ longlong1 make_longlong1(long long int x);
150
151__VECTOR_FUNCTIONS_DECL__ ulonglong1 make_ulonglong1(unsigned long long int x);
152
153__VECTOR_FUNCTIONS_DECL__ longlong2 make_longlong2(long long int x, long long int y);
154
155__VECTOR_FUNCTIONS_DECL__ ulonglong2 make_ulonglong2(unsigned long long int x, unsigned long long int y);
156
157__VECTOR_FUNCTIONS_DECL__ longlong3 make_longlong3(long long int x, long long int y, long long int z);
158
159__VECTOR_FUNCTIONS_DECL__ ulonglong3 make_ulonglong3(unsigned long long int x, unsigned long long int y, unsigned long long int z);
160
161__VECTOR_FUNCTIONS_DECL__ longlong4 make_longlong4(long long int x, long long int y, long long int z, long long int w);
162
163__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);
164
165__VECTOR_FUNCTIONS_DECL__ double1 make_double1(double x);
166
167__VECTOR_FUNCTIONS_DECL__ double2 make_double2(double x, double y);
168
169__VECTOR_FUNCTIONS_DECL__ double3 make_double3(double x, double y, double z);
170
171__VECTOR_FUNCTIONS_DECL__ double4 make_double4(double x, double y, double z, double w);
172
173#undef __VECTOR_FUNCTIONS_DECL__
174
175#if !defined(__CUDACC_RTC__)
176#include "vector_functions.hpp"
177#endif /* !__CUDACC_RTC__ */
178
179#undef EXCLUDE_FROM_RTC
180
181#endif /* !__VECTOR_FUNCTIONS_H__ */
182 
codekingpro/portable-devtools · Team Ai