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