1*71db0c75SAndroid Build Coastguard Worker //===-- NVPTX specific definitions for math support -----------------------===//
2*71db0c75SAndroid Build Coastguard Worker //
3*71db0c75SAndroid Build Coastguard Worker // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*71db0c75SAndroid Build Coastguard Worker // See https://llvm.org/LICENSE.txt for license information.
5*71db0c75SAndroid Build Coastguard Worker // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*71db0c75SAndroid Build Coastguard Worker //
7*71db0c75SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===//
8*71db0c75SAndroid Build Coastguard Worker
9*71db0c75SAndroid Build Coastguard Worker #ifndef LLVM_LIBC_SRC_MATH_NVPTX_NVPTX_H
10*71db0c75SAndroid Build Coastguard Worker #define LLVM_LIBC_SRC_MATH_NVPTX_NVPTX_H
11*71db0c75SAndroid Build Coastguard Worker
12*71db0c75SAndroid Build Coastguard Worker #include "declarations.h"
13*71db0c75SAndroid Build Coastguard Worker
14*71db0c75SAndroid Build Coastguard Worker #include "src/__support/macros/attributes.h"
15*71db0c75SAndroid Build Coastguard Worker #include "src/__support/macros/config.h"
16*71db0c75SAndroid Build Coastguard Worker
17*71db0c75SAndroid Build Coastguard Worker namespace LIBC_NAMESPACE_DECL {
18*71db0c75SAndroid Build Coastguard Worker namespace internal {
acos(double x)19*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double acos(double x) { return __nv_acos(x); }
acosf(float x)20*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float acosf(float x) { return __nv_acosf(x); }
acosh(double x)21*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double acosh(double x) { return __nv_acosh(x); }
acoshf(float x)22*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float acoshf(float x) { return __nv_acoshf(x); }
asin(double x)23*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double asin(double x) { return __nv_asin(x); }
asinf(float x)24*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float asinf(float x) { return __nv_asinf(x); }
asinh(double x)25*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double asinh(double x) { return __nv_asinh(x); }
asinhf(float x)26*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float asinhf(float x) { return __nv_asinhf(x); }
atan2(double x,double y)27*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double atan2(double x, double y) { return __nv_atan2(x, y); }
atan2f(float x,float y)28*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float atan2f(float x, float y) { return __nv_atan2f(x, y); }
atan(double x)29*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double atan(double x) { return __nv_atan(x); }
atanf(float x)30*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float atanf(float x) { return __nv_atanf(x); }
atanh(double x)31*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double atanh(double x) { return __nv_atanh(x); }
atanhf(float x)32*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float atanhf(float x) { return __nv_atanhf(x); }
cos(double x)33*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double cos(double x) { return __nv_cos(x); }
cosf(float x)34*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float cosf(float x) { return __nv_cosf(x); }
cosh(double x)35*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double cosh(double x) { return __nv_cosh(x); }
coshf(float x)36*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float coshf(float x) { return __nv_coshf(x); }
erf(double x)37*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double erf(double x) { return __nv_erf(x); }
erff(float x)38*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float erff(float x) { return __nv_erff(x); }
exp(double x)39*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double exp(double x) { return __nv_exp(x); }
expf(float x)40*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float expf(float x) { return __nv_expf(x); }
exp2(double x)41*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double exp2(double x) { return __nv_exp2(x); }
exp2f(float x)42*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float exp2f(float x) { return __nv_exp2f(x); }
exp10(double x)43*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double exp10(double x) { return __nv_exp10(x); }
exp10f(float x)44*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float exp10f(float x) { return __nv_exp10f(x); }
expm1(double x)45*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double expm1(double x) { return __nv_expm1(x); }
expm1f(float x)46*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float expm1f(float x) { return __nv_expm1f(x); }
fdim(double x,double y)47*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double fdim(double x, double y) { return __nv_fdim(x, y); }
fdimf(float x,float y)48*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float fdimf(float x, float y) { return __nv_fdimf(x, y); }
hypot(double x,double y)49*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double hypot(double x, double y) { return __nv_hypot(x, y); }
hypotf(float x,float y)50*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float hypotf(float x, float y) { return __nv_hypotf(x, y); }
ilogb(double x)51*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE int ilogb(double x) { return __nv_ilogb(x); }
ilogbf(float x)52*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE int ilogbf(float x) { return __nv_ilogbf(x); }
ldexp(double x,int i)53*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double ldexp(double x, int i) { return __nv_ldexp(x, i); }
ldexpf(float x,int i)54*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float ldexpf(float x, int i) { return __nv_ldexpf(x, i); }
llrint(double x)55*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE long long llrint(double x) { return __nv_llrint(x); }
llrintf(float x)56*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE long long llrintf(float x) { return __nv_llrintf(x); }
log10(double x)57*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double log10(double x) { return __nv_log10(x); }
log10f(float x)58*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float log10f(float x) { return __nv_log10f(x); }
log1p(double x)59*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double log1p(double x) { return __nv_log1p(x); }
log1pf(float x)60*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float log1pf(float x) { return __nv_log1pf(x); }
log2(double x)61*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double log2(double x) { return __nv_log2(x); }
log2f(float x)62*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float log2f(float x) { return __nv_log2f(x); }
log(double x)63*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double log(double x) { return __nv_log(x); }
logf(float x)64*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float logf(float x) { return __nv_logf(x); }
lrint(double x)65*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE long lrint(double x) { return __nv_lrint(x); }
lrintf(float x)66*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE long lrintf(float x) { return __nv_lrintf(x); }
nextafter(double x,double y)67*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double nextafter(double x, double y) {
68*71db0c75SAndroid Build Coastguard Worker return __nv_nextafter(x, y);
69*71db0c75SAndroid Build Coastguard Worker }
nextafterf(float x,float y)70*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float nextafterf(float x, float y) { return __nv_nextafterf(x, y); }
pow(double x,double y)71*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double pow(double x, double y) { return __nv_pow(x, y); }
powf(float x,float y)72*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float powf(float x, float y) { return __nv_powf(x, y); }
sin(double x)73*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double sin(double x) { return __nv_sin(x); }
sinf(float x)74*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float sinf(float x) { return __nv_sinf(x); }
sincos(double x,double * sinptr,double * cosptr)75*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE void sincos(double x, double *sinptr, double *cosptr) {
76*71db0c75SAndroid Build Coastguard Worker return __nv_sincos(x, sinptr, cosptr);
77*71db0c75SAndroid Build Coastguard Worker }
sincosf(float x,float * sinptr,float * cosptr)78*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE void sincosf(float x, float *sinptr, float *cosptr) {
79*71db0c75SAndroid Build Coastguard Worker return __nv_sincosf(x, sinptr, cosptr);
80*71db0c75SAndroid Build Coastguard Worker }
sinh(double x)81*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double sinh(double x) { return __nv_sinh(x); }
sinhf(float x)82*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float sinhf(float x) { return __nv_sinhf(x); }
tan(double x)83*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double tan(double x) { return __nv_tan(x); }
tanf(float x)84*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float tanf(float x) { return __nv_tanf(x); }
tanh(double x)85*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double tanh(double x) { return __nv_tanh(x); }
tanhf(float x)86*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float tanhf(float x) { return __nv_tanhf(x); }
scalbn(double x,int i)87*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double scalbn(double x, int i) { return __nv_scalbn(x, i); }
scalbnf(float x,int i)88*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float scalbnf(float x, int i) { return __nv_scalbnf(x, i); }
frexp(double x,int * i)89*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double frexp(double x, int *i) { return __nv_frexp(x, i); }
frexpf(float x,int * i)90*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float frexpf(float x, int *i) { return __nv_frexpf(x, i); }
remquo(double x,double y,int * i)91*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double remquo(double x, double y, int *i) {
92*71db0c75SAndroid Build Coastguard Worker return __nv_remquo(x, y, i);
93*71db0c75SAndroid Build Coastguard Worker }
remquof(float x,float y,int * i)94*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float remquof(float x, float y, int *i) {
95*71db0c75SAndroid Build Coastguard Worker return __nv_remquof(x, y, i);
96*71db0c75SAndroid Build Coastguard Worker }
tgamma(double x)97*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE double tgamma(double x) { return __nv_tgamma(x); }
tgammaf(float x)98*71db0c75SAndroid Build Coastguard Worker LIBC_INLINE float tgammaf(float x) { return __nv_tgammaf(x); }
99*71db0c75SAndroid Build Coastguard Worker
100*71db0c75SAndroid Build Coastguard Worker } // namespace internal
101*71db0c75SAndroid Build Coastguard Worker } // namespace LIBC_NAMESPACE_DECL
102*71db0c75SAndroid Build Coastguard Worker
103*71db0c75SAndroid Build Coastguard Worker #endif // LLVM_LIBC_SRC_MATH_NVPTX_NVPTX_H
104