1//===-- NVPTX 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_NVPTX_DECLARATIONS_H
10#define LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
11
12namespace LIBC_NAMESPACE {
13
14extern "C" {
15double __nv_acos(double);
16float __nv_acosf(float);
17double __nv_acosh(double);
18float __nv_acoshf(float);
19double __nv_asin(double);
20float __nv_asinf(float);
21double __nv_asinh(double);
22float __nv_asinhf(float);
23double __nv_atan(double);
24float __nv_atanf(float);
25double __nv_atan2(double, double);
26float __nv_atan2f(float, float);
27double __nv_atanh(double);
28float __nv_atanhf(float);
29double __nv_cos(double);
30float __nv_cosf(float);
31double __nv_cosh(double);
32float __nv_coshf(float);
33double __nv_erf(double);
34float __nv_erff(float);
35double __nv_exp(double);
36float __nv_expf(float);
37double __nv_exp2(double);
38float __nv_exp2f(float);
39double __nv_exp10(double);
40float __nv_exp10f(float);
41double __nv_expm1(double);
42float __nv_expm1f(float);
43double __nv_fdim(double, double);
44float __nv_fdimf(float, float);
45double __nv_hypot(double, double);
46float __nv_hypotf(float, float);
47int __nv_ilogb(double);
48int __nv_ilogbf(float);
49double __nv_ldexp(double, int);
50float __nv_ldexpf(float, int);
51long long __nv_llrint(double);
52long long __nv_llrintf(float);
53long __nv_lrint(double);
54long __nv_lrintf(float);
55double __nv_log10(double);
56float __nv_log10f(float);
57double __nv_log1p(double);
58float __nv_log1pf(float);
59double __nv_log2(double);
60float __nv_log2f(float);
61double __nv_log(double);
62float __nv_logf(float);
63double __nv_nextafter(double, double);
64float __nv_nextafterf(float, float);
65double __nv_pow(double, double);
66float __nv_powf(float, float);
67double __nv_sin(double);
68float __nv_sinf(float);
69void __nv_sincos(double, double *, double *);
70void __nv_sincosf(float, float *, float *);
71double __nv_sinh(double);
72float __nv_sinhf(float);
73double __nv_tan(double);
74float __nv_tanf(float);
75double __nv_tanh(double);
76float __nv_tanhf(float);
77double __nv_frexp(double, int *);
78float __nv_frexpf(float, int *);
79double __nv_scalbn(double, int);
80float __nv_scalbnf(float, int);
81double __nv_remquo(double, double, int *);
82float __nv_remquof(float, float, int *);
83double __nv_tgamma(double);
84float __nv_tgammaf(float);
85}
86
87} // namespace LIBC_NAMESPACE
88
89#endif // LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H
90

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