• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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