//===-- NVPTX specific declarations for math support ----------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H #define LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H #include "src/__support/macros/config.h" namespace LIBC_NAMESPACE_DECL { extern "C" { double __nv_acos(double); float __nv_acosf(float); double __nv_acosh(double); float __nv_acoshf(float); double __nv_asin(double); float __nv_asinf(float); double __nv_asinh(double); float __nv_asinhf(float); double __nv_atan(double); float __nv_atanf(float); double __nv_atan2(double, double); float __nv_atan2f(float, float); double __nv_atanh(double); float __nv_atanhf(float); double __nv_cos(double); float __nv_cosf(float); double __nv_cosh(double); float __nv_coshf(float); double __nv_erf(double); float __nv_erff(float); double __nv_exp(double); float __nv_expf(float); double __nv_exp2(double); float __nv_exp2f(float); double __nv_exp10(double); float __nv_exp10f(float); double __nv_expm1(double); float __nv_expm1f(float); double __nv_fdim(double, double); float __nv_fdimf(float, float); double __nv_hypot(double, double); float __nv_hypotf(float, float); int __nv_ilogb(double); int __nv_ilogbf(float); double __nv_ldexp(double, int); float __nv_ldexpf(float, int); long long __nv_llrint(double); long long __nv_llrintf(float); long __nv_lrint(double); long __nv_lrintf(float); double __nv_log10(double); float __nv_log10f(float); double __nv_log1p(double); float __nv_log1pf(float); double __nv_log2(double); float __nv_log2f(float); double __nv_log(double); float __nv_logf(float); double __nv_nextafter(double, double); float __nv_nextafterf(float, float); double __nv_pow(double, double); float __nv_powf(float, float); double __nv_powi(double, int); float __nv_powif(float, int); double __nv_sin(double); float __nv_sinf(float); void __nv_sincos(double, double *, double *); void __nv_sincosf(float, float *, float *); double __nv_sinh(double); float __nv_sinhf(float); double __nv_tan(double); float __nv_tanf(float); double __nv_tanh(double); float __nv_tanhf(float); double __nv_frexp(double, int *); float __nv_frexpf(float, int *); double __nv_scalbn(double, int); float __nv_scalbnf(float, int); double __nv_remquo(double, double, int *); float __nv_remquof(float, float, int *); double __nv_tgamma(double); float __nv_tgammaf(float); float __nv_lgamma(double); } } // namespace LIBC_NAMESPACE_DECL #endif // LLVM_LIBC_SRC_MATH_NVPTX_DECLARATIONS_H