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