1336815Sdim/*===-- __clang_cuda_libdevice_declares.h - decls for libdevice functions --===
2336815Sdim *
3353358Sdim * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim * See https://llvm.org/LICENSE.txt for license information.
5353358Sdim * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6336815Sdim *
7336815Sdim *===-----------------------------------------------------------------------===
8336815Sdim */
9336815Sdim
10336815Sdim#ifndef __CLANG_CUDA_LIBDEVICE_DECLARES_H__
11336815Sdim#define __CLANG_CUDA_LIBDEVICE_DECLARES_H__
12336815Sdim
13353358Sdim#if defined(__cplusplus)
14336815Sdimextern "C" {
15353358Sdim#endif
16336815Sdim
17353358Sdim#if defined(_OPENMP)
18353358Sdim#define __DEVICE__
19353358Sdim#elif defined(__CUDA__)
20353358Sdim#define __DEVICE__ __device__
21353358Sdim#endif
22353358Sdim
23353358Sdim__DEVICE__ int __nv_abs(int __a);
24353358Sdim__DEVICE__ double __nv_acos(double __a);
25353358Sdim__DEVICE__ float __nv_acosf(float __a);
26353358Sdim__DEVICE__ double __nv_acosh(double __a);
27353358Sdim__DEVICE__ float __nv_acoshf(float __a);
28353358Sdim__DEVICE__ double __nv_asin(double __a);
29353358Sdim__DEVICE__ float __nv_asinf(float __a);
30353358Sdim__DEVICE__ double __nv_asinh(double __a);
31353358Sdim__DEVICE__ float __nv_asinhf(float __a);
32353358Sdim__DEVICE__ double __nv_atan2(double __a, double __b);
33353358Sdim__DEVICE__ float __nv_atan2f(float __a, float __b);
34353358Sdim__DEVICE__ double __nv_atan(double __a);
35353358Sdim__DEVICE__ float __nv_atanf(float __a);
36353358Sdim__DEVICE__ double __nv_atanh(double __a);
37353358Sdim__DEVICE__ float __nv_atanhf(float __a);
38353358Sdim__DEVICE__ int __nv_brev(int __a);
39353358Sdim__DEVICE__ long long __nv_brevll(long long __a);
40353358Sdim__DEVICE__ int __nv_byte_perm(int __a, int __b, int __c);
41353358Sdim__DEVICE__ double __nv_cbrt(double __a);
42353358Sdim__DEVICE__ float __nv_cbrtf(float __a);
43353358Sdim__DEVICE__ double __nv_ceil(double __a);
44353358Sdim__DEVICE__ float __nv_ceilf(float __a);
45353358Sdim__DEVICE__ int __nv_clz(int __a);
46353358Sdim__DEVICE__ int __nv_clzll(long long __a);
47353358Sdim__DEVICE__ double __nv_copysign(double __a, double __b);
48353358Sdim__DEVICE__ float __nv_copysignf(float __a, float __b);
49353358Sdim__DEVICE__ double __nv_cos(double __a);
50353358Sdim__DEVICE__ float __nv_cosf(float __a);
51353358Sdim__DEVICE__ double __nv_cosh(double __a);
52353358Sdim__DEVICE__ float __nv_coshf(float __a);
53353358Sdim__DEVICE__ double __nv_cospi(double __a);
54353358Sdim__DEVICE__ float __nv_cospif(float __a);
55353358Sdim__DEVICE__ double __nv_cyl_bessel_i0(double __a);
56353358Sdim__DEVICE__ float __nv_cyl_bessel_i0f(float __a);
57353358Sdim__DEVICE__ double __nv_cyl_bessel_i1(double __a);
58353358Sdim__DEVICE__ float __nv_cyl_bessel_i1f(float __a);
59353358Sdim__DEVICE__ double __nv_dadd_rd(double __a, double __b);
60353358Sdim__DEVICE__ double __nv_dadd_rn(double __a, double __b);
61353358Sdim__DEVICE__ double __nv_dadd_ru(double __a, double __b);
62353358Sdim__DEVICE__ double __nv_dadd_rz(double __a, double __b);
63353358Sdim__DEVICE__ double __nv_ddiv_rd(double __a, double __b);
64353358Sdim__DEVICE__ double __nv_ddiv_rn(double __a, double __b);
65353358Sdim__DEVICE__ double __nv_ddiv_ru(double __a, double __b);
66353358Sdim__DEVICE__ double __nv_ddiv_rz(double __a, double __b);
67353358Sdim__DEVICE__ double __nv_dmul_rd(double __a, double __b);
68353358Sdim__DEVICE__ double __nv_dmul_rn(double __a, double __b);
69353358Sdim__DEVICE__ double __nv_dmul_ru(double __a, double __b);
70353358Sdim__DEVICE__ double __nv_dmul_rz(double __a, double __b);
71353358Sdim__DEVICE__ float __nv_double2float_rd(double __a);
72353358Sdim__DEVICE__ float __nv_double2float_rn(double __a);
73353358Sdim__DEVICE__ float __nv_double2float_ru(double __a);
74353358Sdim__DEVICE__ float __nv_double2float_rz(double __a);
75353358Sdim__DEVICE__ int __nv_double2hiint(double __a);
76353358Sdim__DEVICE__ int __nv_double2int_rd(double __a);
77353358Sdim__DEVICE__ int __nv_double2int_rn(double __a);
78353358Sdim__DEVICE__ int __nv_double2int_ru(double __a);
79353358Sdim__DEVICE__ int __nv_double2int_rz(double __a);
80353358Sdim__DEVICE__ long long __nv_double2ll_rd(double __a);
81353358Sdim__DEVICE__ long long __nv_double2ll_rn(double __a);
82353358Sdim__DEVICE__ long long __nv_double2ll_ru(double __a);
83353358Sdim__DEVICE__ long long __nv_double2ll_rz(double __a);
84353358Sdim__DEVICE__ int __nv_double2loint(double __a);
85353358Sdim__DEVICE__ unsigned int __nv_double2uint_rd(double __a);
86353358Sdim__DEVICE__ unsigned int __nv_double2uint_rn(double __a);
87353358Sdim__DEVICE__ unsigned int __nv_double2uint_ru(double __a);
88353358Sdim__DEVICE__ unsigned int __nv_double2uint_rz(double __a);
89353358Sdim__DEVICE__ unsigned long long __nv_double2ull_rd(double __a);
90353358Sdim__DEVICE__ unsigned long long __nv_double2ull_rn(double __a);
91353358Sdim__DEVICE__ unsigned long long __nv_double2ull_ru(double __a);
92353358Sdim__DEVICE__ unsigned long long __nv_double2ull_rz(double __a);
93353358Sdim__DEVICE__ unsigned long long __nv_double_as_longlong(double __a);
94353358Sdim__DEVICE__ double __nv_drcp_rd(double __a);
95353358Sdim__DEVICE__ double __nv_drcp_rn(double __a);
96353358Sdim__DEVICE__ double __nv_drcp_ru(double __a);
97353358Sdim__DEVICE__ double __nv_drcp_rz(double __a);
98353358Sdim__DEVICE__ double __nv_dsqrt_rd(double __a);
99353358Sdim__DEVICE__ double __nv_dsqrt_rn(double __a);
100353358Sdim__DEVICE__ double __nv_dsqrt_ru(double __a);
101353358Sdim__DEVICE__ double __nv_dsqrt_rz(double __a);
102353358Sdim__DEVICE__ double __nv_dsub_rd(double __a, double __b);
103353358Sdim__DEVICE__ double __nv_dsub_rn(double __a, double __b);
104353358Sdim__DEVICE__ double __nv_dsub_ru(double __a, double __b);
105353358Sdim__DEVICE__ double __nv_dsub_rz(double __a, double __b);
106353358Sdim__DEVICE__ double __nv_erfc(double __a);
107353358Sdim__DEVICE__ float __nv_erfcf(float __a);
108353358Sdim__DEVICE__ double __nv_erfcinv(double __a);
109353358Sdim__DEVICE__ float __nv_erfcinvf(float __a);
110353358Sdim__DEVICE__ double __nv_erfcx(double __a);
111353358Sdim__DEVICE__ float __nv_erfcxf(float __a);
112353358Sdim__DEVICE__ double __nv_erf(double __a);
113353358Sdim__DEVICE__ float __nv_erff(float __a);
114353358Sdim__DEVICE__ double __nv_erfinv(double __a);
115353358Sdim__DEVICE__ float __nv_erfinvf(float __a);
116353358Sdim__DEVICE__ double __nv_exp10(double __a);
117353358Sdim__DEVICE__ float __nv_exp10f(float __a);
118353358Sdim__DEVICE__ double __nv_exp2(double __a);
119353358Sdim__DEVICE__ float __nv_exp2f(float __a);
120353358Sdim__DEVICE__ double __nv_exp(double __a);
121353358Sdim__DEVICE__ float __nv_expf(float __a);
122353358Sdim__DEVICE__ double __nv_expm1(double __a);
123353358Sdim__DEVICE__ float __nv_expm1f(float __a);
124353358Sdim__DEVICE__ double __nv_fabs(double __a);
125353358Sdim__DEVICE__ float __nv_fabsf(float __a);
126353358Sdim__DEVICE__ float __nv_fadd_rd(float __a, float __b);
127353358Sdim__DEVICE__ float __nv_fadd_rn(float __a, float __b);
128353358Sdim__DEVICE__ float __nv_fadd_ru(float __a, float __b);
129353358Sdim__DEVICE__ float __nv_fadd_rz(float __a, float __b);
130353358Sdim__DEVICE__ float __nv_fast_cosf(float __a);
131353358Sdim__DEVICE__ float __nv_fast_exp10f(float __a);
132353358Sdim__DEVICE__ float __nv_fast_expf(float __a);
133353358Sdim__DEVICE__ float __nv_fast_fdividef(float __a, float __b);
134353358Sdim__DEVICE__ float __nv_fast_log10f(float __a);
135353358Sdim__DEVICE__ float __nv_fast_log2f(float __a);
136353358Sdim__DEVICE__ float __nv_fast_logf(float __a);
137353358Sdim__DEVICE__ float __nv_fast_powf(float __a, float __b);
138353358Sdim__DEVICE__ void __nv_fast_sincosf(float __a, float *__s, float *__c);
139353358Sdim__DEVICE__ float __nv_fast_sinf(float __a);
140353358Sdim__DEVICE__ float __nv_fast_tanf(float __a);
141353358Sdim__DEVICE__ double __nv_fdim(double __a, double __b);
142353358Sdim__DEVICE__ float __nv_fdimf(float __a, float __b);
143353358Sdim__DEVICE__ float __nv_fdiv_rd(float __a, float __b);
144353358Sdim__DEVICE__ float __nv_fdiv_rn(float __a, float __b);
145353358Sdim__DEVICE__ float __nv_fdiv_ru(float __a, float __b);
146353358Sdim__DEVICE__ float __nv_fdiv_rz(float __a, float __b);
147353358Sdim__DEVICE__ int __nv_ffs(int __a);
148353358Sdim__DEVICE__ int __nv_ffsll(long long __a);
149353358Sdim__DEVICE__ int __nv_finitef(float __a);
150353358Sdim__DEVICE__ unsigned short __nv_float2half_rn(float __a);
151353358Sdim__DEVICE__ int __nv_float2int_rd(float __a);
152353358Sdim__DEVICE__ int __nv_float2int_rn(float __a);
153353358Sdim__DEVICE__ int __nv_float2int_ru(float __a);
154353358Sdim__DEVICE__ int __nv_float2int_rz(float __a);
155353358Sdim__DEVICE__ long long __nv_float2ll_rd(float __a);
156353358Sdim__DEVICE__ long long __nv_float2ll_rn(float __a);
157353358Sdim__DEVICE__ long long __nv_float2ll_ru(float __a);
158353358Sdim__DEVICE__ long long __nv_float2ll_rz(float __a);
159353358Sdim__DEVICE__ unsigned int __nv_float2uint_rd(float __a);
160353358Sdim__DEVICE__ unsigned int __nv_float2uint_rn(float __a);
161353358Sdim__DEVICE__ unsigned int __nv_float2uint_ru(float __a);
162353358Sdim__DEVICE__ unsigned int __nv_float2uint_rz(float __a);
163353358Sdim__DEVICE__ unsigned long long __nv_float2ull_rd(float __a);
164353358Sdim__DEVICE__ unsigned long long __nv_float2ull_rn(float __a);
165353358Sdim__DEVICE__ unsigned long long __nv_float2ull_ru(float __a);
166353358Sdim__DEVICE__ unsigned long long __nv_float2ull_rz(float __a);
167353358Sdim__DEVICE__ int __nv_float_as_int(float __a);
168353358Sdim__DEVICE__ unsigned int __nv_float_as_uint(float __a);
169353358Sdim__DEVICE__ double __nv_floor(double __a);
170353358Sdim__DEVICE__ float __nv_floorf(float __a);
171353358Sdim__DEVICE__ double __nv_fma(double __a, double __b, double __c);
172353358Sdim__DEVICE__ float __nv_fmaf(float __a, float __b, float __c);
173353358Sdim__DEVICE__ float __nv_fmaf_ieee_rd(float __a, float __b, float __c);
174353358Sdim__DEVICE__ float __nv_fmaf_ieee_rn(float __a, float __b, float __c);
175353358Sdim__DEVICE__ float __nv_fmaf_ieee_ru(float __a, float __b, float __c);
176353358Sdim__DEVICE__ float __nv_fmaf_ieee_rz(float __a, float __b, float __c);
177353358Sdim__DEVICE__ float __nv_fmaf_rd(float __a, float __b, float __c);
178353358Sdim__DEVICE__ float __nv_fmaf_rn(float __a, float __b, float __c);
179353358Sdim__DEVICE__ float __nv_fmaf_ru(float __a, float __b, float __c);
180353358Sdim__DEVICE__ float __nv_fmaf_rz(float __a, float __b, float __c);
181353358Sdim__DEVICE__ double __nv_fma_rd(double __a, double __b, double __c);
182353358Sdim__DEVICE__ double __nv_fma_rn(double __a, double __b, double __c);
183353358Sdim__DEVICE__ double __nv_fma_ru(double __a, double __b, double __c);
184353358Sdim__DEVICE__ double __nv_fma_rz(double __a, double __b, double __c);
185353358Sdim__DEVICE__ double __nv_fmax(double __a, double __b);
186353358Sdim__DEVICE__ float __nv_fmaxf(float __a, float __b);
187353358Sdim__DEVICE__ double __nv_fmin(double __a, double __b);
188353358Sdim__DEVICE__ float __nv_fminf(float __a, float __b);
189353358Sdim__DEVICE__ double __nv_fmod(double __a, double __b);
190353358Sdim__DEVICE__ float __nv_fmodf(float __a, float __b);
191353358Sdim__DEVICE__ float __nv_fmul_rd(float __a, float __b);
192353358Sdim__DEVICE__ float __nv_fmul_rn(float __a, float __b);
193353358Sdim__DEVICE__ float __nv_fmul_ru(float __a, float __b);
194353358Sdim__DEVICE__ float __nv_fmul_rz(float __a, float __b);
195353358Sdim__DEVICE__ float __nv_frcp_rd(float __a);
196353358Sdim__DEVICE__ float __nv_frcp_rn(float __a);
197353358Sdim__DEVICE__ float __nv_frcp_ru(float __a);
198353358Sdim__DEVICE__ float __nv_frcp_rz(float __a);
199353358Sdim__DEVICE__ double __nv_frexp(double __a, int *__b);
200353358Sdim__DEVICE__ float __nv_frexpf(float __a, int *__b);
201353358Sdim__DEVICE__ float __nv_frsqrt_rn(float __a);
202353358Sdim__DEVICE__ float __nv_fsqrt_rd(float __a);
203353358Sdim__DEVICE__ float __nv_fsqrt_rn(float __a);
204353358Sdim__DEVICE__ float __nv_fsqrt_ru(float __a);
205353358Sdim__DEVICE__ float __nv_fsqrt_rz(float __a);
206353358Sdim__DEVICE__ float __nv_fsub_rd(float __a, float __b);
207353358Sdim__DEVICE__ float __nv_fsub_rn(float __a, float __b);
208353358Sdim__DEVICE__ float __nv_fsub_ru(float __a, float __b);
209353358Sdim__DEVICE__ float __nv_fsub_rz(float __a, float __b);
210353358Sdim__DEVICE__ int __nv_hadd(int __a, int __b);
211353358Sdim__DEVICE__ float __nv_half2float(unsigned short __h);
212353358Sdim__DEVICE__ double __nv_hiloint2double(int __a, int __b);
213353358Sdim__DEVICE__ double __nv_hypot(double __a, double __b);
214353358Sdim__DEVICE__ float __nv_hypotf(float __a, float __b);
215353358Sdim__DEVICE__ int __nv_ilogb(double __a);
216353358Sdim__DEVICE__ int __nv_ilogbf(float __a);
217353358Sdim__DEVICE__ double __nv_int2double_rn(int __a);
218353358Sdim__DEVICE__ float __nv_int2float_rd(int __a);
219353358Sdim__DEVICE__ float __nv_int2float_rn(int __a);
220353358Sdim__DEVICE__ float __nv_int2float_ru(int __a);
221353358Sdim__DEVICE__ float __nv_int2float_rz(int __a);
222353358Sdim__DEVICE__ float __nv_int_as_float(int __a);
223353358Sdim__DEVICE__ int __nv_isfinited(double __a);
224353358Sdim__DEVICE__ int __nv_isinfd(double __a);
225353358Sdim__DEVICE__ int __nv_isinff(float __a);
226353358Sdim__DEVICE__ int __nv_isnand(double __a);
227353358Sdim__DEVICE__ int __nv_isnanf(float __a);
228353358Sdim__DEVICE__ double __nv_j0(double __a);
229353358Sdim__DEVICE__ float __nv_j0f(float __a);
230353358Sdim__DEVICE__ double __nv_j1(double __a);
231353358Sdim__DEVICE__ float __nv_j1f(float __a);
232353358Sdim__DEVICE__ float __nv_jnf(int __a, float __b);
233353358Sdim__DEVICE__ double __nv_jn(int __a, double __b);
234353358Sdim__DEVICE__ double __nv_ldexp(double __a, int __b);
235353358Sdim__DEVICE__ float __nv_ldexpf(float __a, int __b);
236353358Sdim__DEVICE__ double __nv_lgamma(double __a);
237353358Sdim__DEVICE__ float __nv_lgammaf(float __a);
238353358Sdim__DEVICE__ double __nv_ll2double_rd(long long __a);
239353358Sdim__DEVICE__ double __nv_ll2double_rn(long long __a);
240353358Sdim__DEVICE__ double __nv_ll2double_ru(long long __a);
241353358Sdim__DEVICE__ double __nv_ll2double_rz(long long __a);
242353358Sdim__DEVICE__ float __nv_ll2float_rd(long long __a);
243353358Sdim__DEVICE__ float __nv_ll2float_rn(long long __a);
244353358Sdim__DEVICE__ float __nv_ll2float_ru(long long __a);
245353358Sdim__DEVICE__ float __nv_ll2float_rz(long long __a);
246353358Sdim__DEVICE__ long long __nv_llabs(long long __a);
247353358Sdim__DEVICE__ long long __nv_llmax(long long __a, long long __b);
248353358Sdim__DEVICE__ long long __nv_llmin(long long __a, long long __b);
249353358Sdim__DEVICE__ long long __nv_llrint(double __a);
250353358Sdim__DEVICE__ long long __nv_llrintf(float __a);
251353358Sdim__DEVICE__ long long __nv_llround(double __a);
252353358Sdim__DEVICE__ long long __nv_llroundf(float __a);
253353358Sdim__DEVICE__ double __nv_log10(double __a);
254353358Sdim__DEVICE__ float __nv_log10f(float __a);
255353358Sdim__DEVICE__ double __nv_log1p(double __a);
256353358Sdim__DEVICE__ float __nv_log1pf(float __a);
257353358Sdim__DEVICE__ double __nv_log2(double __a);
258353358Sdim__DEVICE__ float __nv_log2f(float __a);
259353358Sdim__DEVICE__ double __nv_logb(double __a);
260353358Sdim__DEVICE__ float __nv_logbf(float __a);
261353358Sdim__DEVICE__ double __nv_log(double __a);
262353358Sdim__DEVICE__ float __nv_logf(float __a);
263353358Sdim__DEVICE__ double __nv_longlong_as_double(long long __a);
264353358Sdim__DEVICE__ int __nv_max(int __a, int __b);
265353358Sdim__DEVICE__ int __nv_min(int __a, int __b);
266353358Sdim__DEVICE__ double __nv_modf(double __a, double *__b);
267353358Sdim__DEVICE__ float __nv_modff(float __a, float *__b);
268353358Sdim__DEVICE__ int __nv_mul24(int __a, int __b);
269353358Sdim__DEVICE__ long long __nv_mul64hi(long long __a, long long __b);
270353358Sdim__DEVICE__ int __nv_mulhi(int __a, int __b);
271353358Sdim__DEVICE__ double __nv_nan(const signed char *__a);
272353358Sdim__DEVICE__ float __nv_nanf(const signed char *__a);
273353358Sdim__DEVICE__ double __nv_nearbyint(double __a);
274353358Sdim__DEVICE__ float __nv_nearbyintf(float __a);
275353358Sdim__DEVICE__ double __nv_nextafter(double __a, double __b);
276353358Sdim__DEVICE__ float __nv_nextafterf(float __a, float __b);
277353358Sdim__DEVICE__ double __nv_norm3d(double __a, double __b, double __c);
278353358Sdim__DEVICE__ float __nv_norm3df(float __a, float __b, float __c);
279353358Sdim__DEVICE__ double __nv_norm4d(double __a, double __b, double __c, double __d);
280353358Sdim__DEVICE__ float __nv_norm4df(float __a, float __b, float __c, float __d);
281353358Sdim__DEVICE__ double __nv_normcdf(double __a);
282353358Sdim__DEVICE__ float __nv_normcdff(float __a);
283353358Sdim__DEVICE__ double __nv_normcdfinv(double __a);
284353358Sdim__DEVICE__ float __nv_normcdfinvf(float __a);
285353358Sdim__DEVICE__ float __nv_normf(int __a, const float *__b);
286353358Sdim__DEVICE__ double __nv_norm(int __a, const double *__b);
287353358Sdim__DEVICE__ int __nv_popc(int __a);
288353358Sdim__DEVICE__ int __nv_popcll(long long __a);
289353358Sdim__DEVICE__ double __nv_pow(double __a, double __b);
290353358Sdim__DEVICE__ float __nv_powf(float __a, float __b);
291353358Sdim__DEVICE__ double __nv_powi(double __a, int __b);
292353358Sdim__DEVICE__ float __nv_powif(float __a, int __b);
293353358Sdim__DEVICE__ double __nv_rcbrt(double __a);
294353358Sdim__DEVICE__ float __nv_rcbrtf(float __a);
295353358Sdim__DEVICE__ double __nv_rcp64h(double __a);
296353358Sdim__DEVICE__ double __nv_remainder(double __a, double __b);
297353358Sdim__DEVICE__ float __nv_remainderf(float __a, float __b);
298353358Sdim__DEVICE__ double __nv_remquo(double __a, double __b, int *__c);
299353358Sdim__DEVICE__ float __nv_remquof(float __a, float __b, int *__c);
300353358Sdim__DEVICE__ int __nv_rhadd(int __a, int __b);
301353358Sdim__DEVICE__ double __nv_rhypot(double __a, double __b);
302353358Sdim__DEVICE__ float __nv_rhypotf(float __a, float __b);
303353358Sdim__DEVICE__ double __nv_rint(double __a);
304353358Sdim__DEVICE__ float __nv_rintf(float __a);
305353358Sdim__DEVICE__ double __nv_rnorm3d(double __a, double __b, double __c);
306353358Sdim__DEVICE__ float __nv_rnorm3df(float __a, float __b, float __c);
307353358Sdim__DEVICE__ double __nv_rnorm4d(double __a, double __b, double __c, double __d);
308353358Sdim__DEVICE__ float __nv_rnorm4df(float __a, float __b, float __c, float __d);
309353358Sdim__DEVICE__ float __nv_rnormf(int __a, const float *__b);
310353358Sdim__DEVICE__ double __nv_rnorm(int __a, const double *__b);
311353358Sdim__DEVICE__ double __nv_round(double __a);
312353358Sdim__DEVICE__ float __nv_roundf(float __a);
313353358Sdim__DEVICE__ double __nv_rsqrt(double __a);
314353358Sdim__DEVICE__ float __nv_rsqrtf(float __a);
315353358Sdim__DEVICE__ int __nv_sad(int __a, int __b, int __c);
316353358Sdim__DEVICE__ float __nv_saturatef(float __a);
317353358Sdim__DEVICE__ double __nv_scalbn(double __a, int __b);
318353358Sdim__DEVICE__ float __nv_scalbnf(float __a, int __b);
319353358Sdim__DEVICE__ int __nv_signbitd(double __a);
320353358Sdim__DEVICE__ int __nv_signbitf(float __a);
321353358Sdim__DEVICE__ void __nv_sincos(double __a, double *__b, double *__c);
322353358Sdim__DEVICE__ void __nv_sincosf(float __a, float *__b, float *__c);
323353358Sdim__DEVICE__ void __nv_sincospi(double __a, double *__b, double *__c);
324353358Sdim__DEVICE__ void __nv_sincospif(float __a, float *__b, float *__c);
325353358Sdim__DEVICE__ double __nv_sin(double __a);
326353358Sdim__DEVICE__ float __nv_sinf(float __a);
327353358Sdim__DEVICE__ double __nv_sinh(double __a);
328353358Sdim__DEVICE__ float __nv_sinhf(float __a);
329353358Sdim__DEVICE__ double __nv_sinpi(double __a);
330353358Sdim__DEVICE__ float __nv_sinpif(float __a);
331353358Sdim__DEVICE__ double __nv_sqrt(double __a);
332353358Sdim__DEVICE__ float __nv_sqrtf(float __a);
333353358Sdim__DEVICE__ double __nv_tan(double __a);
334353358Sdim__DEVICE__ float __nv_tanf(float __a);
335353358Sdim__DEVICE__ double __nv_tanh(double __a);
336353358Sdim__DEVICE__ float __nv_tanhf(float __a);
337353358Sdim__DEVICE__ double __nv_tgamma(double __a);
338353358Sdim__DEVICE__ float __nv_tgammaf(float __a);
339353358Sdim__DEVICE__ double __nv_trunc(double __a);
340353358Sdim__DEVICE__ float __nv_truncf(float __a);
341353358Sdim__DEVICE__ int __nv_uhadd(unsigned int __a, unsigned int __b);
342353358Sdim__DEVICE__ double __nv_uint2double_rn(unsigned int __i);
343353358Sdim__DEVICE__ float __nv_uint2float_rd(unsigned int __a);
344353358Sdim__DEVICE__ float __nv_uint2float_rn(unsigned int __a);
345353358Sdim__DEVICE__ float __nv_uint2float_ru(unsigned int __a);
346353358Sdim__DEVICE__ float __nv_uint2float_rz(unsigned int __a);
347353358Sdim__DEVICE__ float __nv_uint_as_float(unsigned int __a);
348353358Sdim__DEVICE__ double __nv_ull2double_rd(unsigned long long __a);
349353358Sdim__DEVICE__ double __nv_ull2double_rn(unsigned long long __a);
350353358Sdim__DEVICE__ double __nv_ull2double_ru(unsigned long long __a);
351353358Sdim__DEVICE__ double __nv_ull2double_rz(unsigned long long __a);
352353358Sdim__DEVICE__ float __nv_ull2float_rd(unsigned long long __a);
353353358Sdim__DEVICE__ float __nv_ull2float_rn(unsigned long long __a);
354353358Sdim__DEVICE__ float __nv_ull2float_ru(unsigned long long __a);
355353358Sdim__DEVICE__ float __nv_ull2float_rz(unsigned long long __a);
356353358Sdim__DEVICE__ unsigned long long __nv_ullmax(unsigned long long __a,
357336815Sdim                                          unsigned long long __b);
358353358Sdim__DEVICE__ unsigned long long __nv_ullmin(unsigned long long __a,
359336815Sdim                                          unsigned long long __b);
360353358Sdim__DEVICE__ unsigned int __nv_umax(unsigned int __a, unsigned int __b);
361353358Sdim__DEVICE__ unsigned int __nv_umin(unsigned int __a, unsigned int __b);
362353358Sdim__DEVICE__ unsigned int __nv_umul24(unsigned int __a, unsigned int __b);
363353358Sdim__DEVICE__ unsigned long long __nv_umul64hi(unsigned long long __a,
364336815Sdim                                            unsigned long long __b);
365353358Sdim__DEVICE__ unsigned int __nv_umulhi(unsigned int __a, unsigned int __b);
366353358Sdim__DEVICE__ unsigned int __nv_urhadd(unsigned int __a, unsigned int __b);
367353358Sdim__DEVICE__ unsigned int __nv_usad(unsigned int __a, unsigned int __b,
368336815Sdim                                  unsigned int __c);
369336815Sdim#if CUDA_VERSION >= 9000 && CUDA_VERSION < 9020
370353358Sdim__DEVICE__ int __nv_vabs2(int __a);
371353358Sdim__DEVICE__ int __nv_vabs4(int __a);
372353358Sdim__DEVICE__ int __nv_vabsdiffs2(int __a, int __b);
373353358Sdim__DEVICE__ int __nv_vabsdiffs4(int __a, int __b);
374353358Sdim__DEVICE__ int __nv_vabsdiffu2(int __a, int __b);
375353358Sdim__DEVICE__ int __nv_vabsdiffu4(int __a, int __b);
376353358Sdim__DEVICE__ int __nv_vabsss2(int __a);
377353358Sdim__DEVICE__ int __nv_vabsss4(int __a);
378353358Sdim__DEVICE__ int __nv_vadd2(int __a, int __b);
379353358Sdim__DEVICE__ int __nv_vadd4(int __a, int __b);
380353358Sdim__DEVICE__ int __nv_vaddss2(int __a, int __b);
381353358Sdim__DEVICE__ int __nv_vaddss4(int __a, int __b);
382353358Sdim__DEVICE__ int __nv_vaddus2(int __a, int __b);
383353358Sdim__DEVICE__ int __nv_vaddus4(int __a, int __b);
384353358Sdim__DEVICE__ int __nv_vavgs2(int __a, int __b);
385353358Sdim__DEVICE__ int __nv_vavgs4(int __a, int __b);
386353358Sdim__DEVICE__ int __nv_vavgu2(int __a, int __b);
387353358Sdim__DEVICE__ int __nv_vavgu4(int __a, int __b);
388353358Sdim__DEVICE__ int __nv_vcmpeq2(int __a, int __b);
389353358Sdim__DEVICE__ int __nv_vcmpeq4(int __a, int __b);
390353358Sdim__DEVICE__ int __nv_vcmpges2(int __a, int __b);
391353358Sdim__DEVICE__ int __nv_vcmpges4(int __a, int __b);
392353358Sdim__DEVICE__ int __nv_vcmpgeu2(int __a, int __b);
393353358Sdim__DEVICE__ int __nv_vcmpgeu4(int __a, int __b);
394353358Sdim__DEVICE__ int __nv_vcmpgts2(int __a, int __b);
395353358Sdim__DEVICE__ int __nv_vcmpgts4(int __a, int __b);
396353358Sdim__DEVICE__ int __nv_vcmpgtu2(int __a, int __b);
397353358Sdim__DEVICE__ int __nv_vcmpgtu4(int __a, int __b);
398353358Sdim__DEVICE__ int __nv_vcmples2(int __a, int __b);
399353358Sdim__DEVICE__ int __nv_vcmples4(int __a, int __b);
400353358Sdim__DEVICE__ int __nv_vcmpleu2(int __a, int __b);
401353358Sdim__DEVICE__ int __nv_vcmpleu4(int __a, int __b);
402353358Sdim__DEVICE__ int __nv_vcmplts2(int __a, int __b);
403353358Sdim__DEVICE__ int __nv_vcmplts4(int __a, int __b);
404353358Sdim__DEVICE__ int __nv_vcmpltu2(int __a, int __b);
405353358Sdim__DEVICE__ int __nv_vcmpltu4(int __a, int __b);
406353358Sdim__DEVICE__ int __nv_vcmpne2(int __a, int __b);
407353358Sdim__DEVICE__ int __nv_vcmpne4(int __a, int __b);
408353358Sdim__DEVICE__ int __nv_vhaddu2(int __a, int __b);
409353358Sdim__DEVICE__ int __nv_vhaddu4(int __a, int __b);
410353358Sdim__DEVICE__ int __nv_vmaxs2(int __a, int __b);
411353358Sdim__DEVICE__ int __nv_vmaxs4(int __a, int __b);
412353358Sdim__DEVICE__ int __nv_vmaxu2(int __a, int __b);
413353358Sdim__DEVICE__ int __nv_vmaxu4(int __a, int __b);
414353358Sdim__DEVICE__ int __nv_vmins2(int __a, int __b);
415353358Sdim__DEVICE__ int __nv_vmins4(int __a, int __b);
416353358Sdim__DEVICE__ int __nv_vminu2(int __a, int __b);
417353358Sdim__DEVICE__ int __nv_vminu4(int __a, int __b);
418353358Sdim__DEVICE__ int __nv_vneg2(int __a);
419353358Sdim__DEVICE__ int __nv_vneg4(int __a);
420353358Sdim__DEVICE__ int __nv_vnegss2(int __a);
421353358Sdim__DEVICE__ int __nv_vnegss4(int __a);
422353358Sdim__DEVICE__ int __nv_vsads2(int __a, int __b);
423353358Sdim__DEVICE__ int __nv_vsads4(int __a, int __b);
424353358Sdim__DEVICE__ int __nv_vsadu2(int __a, int __b);
425353358Sdim__DEVICE__ int __nv_vsadu4(int __a, int __b);
426353358Sdim__DEVICE__ int __nv_vseteq2(int __a, int __b);
427353358Sdim__DEVICE__ int __nv_vseteq4(int __a, int __b);
428353358Sdim__DEVICE__ int __nv_vsetges2(int __a, int __b);
429353358Sdim__DEVICE__ int __nv_vsetges4(int __a, int __b);
430353358Sdim__DEVICE__ int __nv_vsetgeu2(int __a, int __b);
431353358Sdim__DEVICE__ int __nv_vsetgeu4(int __a, int __b);
432353358Sdim__DEVICE__ int __nv_vsetgts2(int __a, int __b);
433353358Sdim__DEVICE__ int __nv_vsetgts4(int __a, int __b);
434353358Sdim__DEVICE__ int __nv_vsetgtu2(int __a, int __b);
435353358Sdim__DEVICE__ int __nv_vsetgtu4(int __a, int __b);
436353358Sdim__DEVICE__ int __nv_vsetles2(int __a, int __b);
437353358Sdim__DEVICE__ int __nv_vsetles4(int __a, int __b);
438353358Sdim__DEVICE__ int __nv_vsetleu2(int __a, int __b);
439353358Sdim__DEVICE__ int __nv_vsetleu4(int __a, int __b);
440353358Sdim__DEVICE__ int __nv_vsetlts2(int __a, int __b);
441353358Sdim__DEVICE__ int __nv_vsetlts4(int __a, int __b);
442353358Sdim__DEVICE__ int __nv_vsetltu2(int __a, int __b);
443353358Sdim__DEVICE__ int __nv_vsetltu4(int __a, int __b);
444353358Sdim__DEVICE__ int __nv_vsetne2(int __a, int __b);
445353358Sdim__DEVICE__ int __nv_vsetne4(int __a, int __b);
446353358Sdim__DEVICE__ int __nv_vsub2(int __a, int __b);
447353358Sdim__DEVICE__ int __nv_vsub4(int __a, int __b);
448353358Sdim__DEVICE__ int __nv_vsubss2(int __a, int __b);
449353358Sdim__DEVICE__ int __nv_vsubss4(int __a, int __b);
450353358Sdim__DEVICE__ int __nv_vsubus2(int __a, int __b);
451353358Sdim__DEVICE__ int __nv_vsubus4(int __a, int __b);
452336815Sdim#endif  // CUDA_VERSION
453353358Sdim__DEVICE__ double __nv_y0(double __a);
454353358Sdim__DEVICE__ float __nv_y0f(float __a);
455353358Sdim__DEVICE__ double __nv_y1(double __a);
456353358Sdim__DEVICE__ float __nv_y1f(float __a);
457353358Sdim__DEVICE__ float __nv_ynf(int __a, float __b);
458353358Sdim__DEVICE__ double __nv_yn(int __a, double __b);
459353358Sdim#if defined(__cplusplus)
460336815Sdim} // extern "C"
461353358Sdim#endif
462336815Sdim#endif // __CLANG_CUDA_LIBDEVICE_DECLARES_H__
463