1 //===-- AMDGPU specific declarations for math support ---------------------===//
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
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_LIBC_SRC_MATH_GPU_AMDGPU_DECLARATIONS_H
10 #define LLVM_LIBC_SRC_MATH_GPU_AMDGPU_DECLARATIONS_H
12 #include "src/__support/GPU/utils.h"
14 namespace __llvm_libc
{
17 float __ocml_acos_f32(float);
18 float __ocml_acosh_f32(float);
19 float __ocml_asin_f32(float);
20 float __ocml_asinh_f32(float);
21 float __ocml_atan_f32(float);
22 float __ocml_atanh_f32(float);
23 float __ocml_cos_f32(float);
24 double __ocml_cos_f64(double);
25 float __ocml_cosh_f32(float);
26 double __ocml_cosh_f64(double);
27 float __ocml_exp_f32(float);
28 float __ocml_exp2_f32(float);
29 float __ocml_exp10_f32(float);
30 float __ocml_expm1_f32(float);
31 float __ocml_fdim_f32(float, float);
32 double __ocml_fdim_f64(double, double);
33 double __ocml_hypot_f64(double, double);
34 float __ocml_hypot_f32(float, float);
35 int __ocml_ilogb_f64(double);
36 int __ocml_ilogb_f32(float);
37 float __ocml_ldexp_f32(float, int);
38 double __ocml_ldexp_f64(double, int);
39 float __ocml_nextafter_f32(float, float);
40 double __ocml_nextafter_f64(double, double);
41 float __ocml_pow_f32(float, float);
42 double __ocml_pow_f64(double, double);
43 double __ocml_rint_f64(double);
44 float __ocml_rint_f32(float);
45 double __ocml_round_f64(double);
46 float __ocml_round_f32(float);
47 float __ocml_sin_f32(float);
48 double __ocml_sin_f64(double);
49 float __ocml_sincos_f32(float, float *);
50 double __ocml_sincos_f64(double, double *);
51 float __ocml_sinh_f32(float);
52 double __ocml_sinh_f64(double);
53 float __ocml_tan_f32(float);
54 double __ocml_tan_f64(double);
55 float __ocml_tanh_f32(float);
56 double __ocml_tanh_f64(double);
57 float __ocml_remquo_f32(float, float, gpu::Private
<int> *);
58 double __ocml_remquo_f64(double, double, gpu::Private
<int> *);
61 } // namespace __llvm_libc
63 #endif // LLVM_LIBC_SRC_MATH_GPU_AMDGPU_DECLARATIONS_H