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

source code of libc/src/math/amdgpu/declarations.h