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