1 | //===-- AMDGPU 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_AMDGPU_DECLARATIONS_H |
10 | #define LLVM_LIBC_SRC_MATH_AMDGPU_DECLARATIONS_H |
11 | |
12 | #include "platform.h" |
13 | |
14 | #include "src/__support/GPU/utils.h" |
15 | |
16 | namespace LIBC_NAMESPACE { |
17 | |
18 | extern "C" { |
19 | float __ocml_acos_f32(float); |
20 | double __ocml_acos_f64(double); |
21 | float __ocml_acosh_f32(float); |
22 | double __ocml_acosh_f64(double); |
23 | float __ocml_asin_f32(float); |
24 | double __ocml_asin_f64(double); |
25 | float __ocml_asinh_f32(float); |
26 | double __ocml_asinh_f64(double); |
27 | float __ocml_atan_f32(float); |
28 | double __ocml_atan_f64(double); |
29 | float __ocml_atan2_f32(float, float); |
30 | double __ocml_atan2_f64(double, double); |
31 | float __ocml_atanh_f32(float); |
32 | double __ocml_atanh_f64(double); |
33 | float __ocml_cos_f32(float); |
34 | double __ocml_cos_f64(double); |
35 | float __ocml_cosh_f32(float); |
36 | double __ocml_cosh_f64(double); |
37 | float __ocml_erf_f32(float); |
38 | double __ocml_erf_f64(double); |
39 | float __ocml_exp_f32(float); |
40 | double __ocml_exp_f64(double); |
41 | float __ocml_exp2_f32(float); |
42 | double __ocml_exp2_f64(double); |
43 | float __ocml_exp10_f32(float); |
44 | double __ocml_exp10_f64(double); |
45 | double __ocml_exp2_f64(double); |
46 | float __ocml_expm1_f32(float); |
47 | double __ocml_expm1_f64(double); |
48 | float __ocml_fdim_f32(float, float); |
49 | double __ocml_fdim_f64(double, double); |
50 | float __ocml_hypot_f32(float, float); |
51 | double __ocml_hypot_f64(double, double); |
52 | int __ocml_ilogb_f64(double); |
53 | int __ocml_ilogb_f32(float); |
54 | float __ocml_ldexp_f32(float, int); |
55 | double __ocml_ldexp_f64(double, int); |
56 | float __ocml_log10_f32(float); |
57 | double __ocml_log10_f64(double); |
58 | float __ocml_log1p_f32(float); |
59 | double __ocml_log1p_f64(double); |
60 | float __ocml_log2_f32(float); |
61 | double __ocml_log2_f64(double); |
62 | float __ocml_log_f32(float); |
63 | double __ocml_log_f64(double); |
64 | float __ocml_nextafter_f32(float, float); |
65 | double __ocml_nextafter_f64(double, double); |
66 | float __ocml_pow_f32(float, float); |
67 | double __ocml_pow_f64(double, double); |
68 | float __ocml_sin_f32(float); |
69 | double __ocml_sin_f64(double); |
70 | float __ocml_sincos_f32(float, float *); |
71 | double __ocml_sincos_f64(double, double *); |
72 | float __ocml_sinh_f32(float); |
73 | double __ocml_sinh_f64(double); |
74 | float __ocml_tan_f32(float); |
75 | double __ocml_tan_f64(double); |
76 | float __ocml_tanh_f32(float); |
77 | double __ocml_tanh_f64(double); |
78 | float __ocml_remquo_f32(float, float, gpu::Private<int> *); |
79 | double __ocml_remquo_f64(double, double, gpu::Private<int> *); |
80 | double __ocml_tgamma_f64(double); |
81 | float __ocml_tgamma_f32(float); |
82 | } |
83 | |
84 | } // namespace LIBC_NAMESPACE |
85 | |
86 | #endif // LLVM_LIBC_SRC_MATH_AMDGPU_DECLARATIONS_H |
87 | |