xref: /aosp_15_r20/external/llvm-libc/src/math/nvptx/declarations.h (revision 71db0c75aadcf003ffe3238005f61d7618a3fead)
1 //===-- NVPTX specific declarations for math support ----------------------===//
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-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
10 #define LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
11 
12 #include "src/__support/macros/config.h"
13 
14 namespace LIBC_NAMESPACE_DECL {
15 
16 extern "C" {
17 double __nv_acos(double);
18 float __nv_acosf(float);
19 double __nv_acosh(double);
20 float __nv_acoshf(float);
21 double __nv_asin(double);
22 float __nv_asinf(float);
23 double __nv_asinh(double);
24 float __nv_asinhf(float);
25 double __nv_atan(double);
26 float __nv_atanf(float);
27 double __nv_atan2(double, double);
28 float __nv_atan2f(float, float);
29 double __nv_atanh(double);
30 float __nv_atanhf(float);
31 double __nv_cos(double);
32 float __nv_cosf(float);
33 double __nv_cosh(double);
34 float __nv_coshf(float);
35 double __nv_erf(double);
36 float __nv_erff(float);
37 double __nv_exp(double);
38 float __nv_expf(float);
39 double __nv_exp2(double);
40 float __nv_exp2f(float);
41 double __nv_exp10(double);
42 float __nv_exp10f(float);
43 double __nv_expm1(double);
44 float __nv_expm1f(float);
45 double __nv_fdim(double, double);
46 float __nv_fdimf(float, float);
47 double __nv_hypot(double, double);
48 float __nv_hypotf(float, float);
49 int __nv_ilogb(double);
50 int __nv_ilogbf(float);
51 double __nv_ldexp(double, int);
52 float __nv_ldexpf(float, int);
53 long long __nv_llrint(double);
54 long long __nv_llrintf(float);
55 long __nv_lrint(double);
56 long __nv_lrintf(float);
57 double __nv_log10(double);
58 float __nv_log10f(float);
59 double __nv_log1p(double);
60 float __nv_log1pf(float);
61 double __nv_log2(double);
62 float __nv_log2f(float);
63 double __nv_log(double);
64 float __nv_logf(float);
65 double __nv_nextafter(double, double);
66 float __nv_nextafterf(float, float);
67 double __nv_pow(double, double);
68 float __nv_powf(float, float);
69 double __nv_powi(double, int);
70 float __nv_powif(float, int);
71 double __nv_sin(double);
72 float __nv_sinf(float);
73 void __nv_sincos(double, double *, double *);
74 void __nv_sincosf(float, float *, float *);
75 double __nv_sinh(double);
76 float __nv_sinhf(float);
77 double __nv_tan(double);
78 float __nv_tanf(float);
79 double __nv_tanh(double);
80 float __nv_tanhf(float);
81 double __nv_frexp(double, int *);
82 float __nv_frexpf(float, int *);
83 double __nv_scalbn(double, int);
84 float __nv_scalbnf(float, int);
85 double __nv_remquo(double, double, int *);
86 float __nv_remquof(float, float, int *);
87 double __nv_tgamma(double);
88 float __nv_tgammaf(float);
89 float __nv_lgamma(double);
90 }
91 
92 } // namespace LIBC_NAMESPACE_DECL
93 
94 #endif // LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
95