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