Index: include/math.h =================================================================== --- include/math.h +++ include/math.h @@ -658,8 +658,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float acos(float __lcpp_x) _NOEXCEPT {return acosf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double acos(long double __lcpp_x) _NOEXCEPT {return acosl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -670,8 +672,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float asin(float __lcpp_x) _NOEXCEPT {return asinf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double asin(long double __lcpp_x) _NOEXCEPT {return asinl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -694,8 +698,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float atan2(float __lcpp_y, float __lcpp_x) _NOEXCEPT {return atan2f(__lcpp_y, __lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double atan2(long double __lcpp_y, long double __lcpp_x) _NOEXCEPT {return atan2l(__lcpp_y, __lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -729,8 +735,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float cos(float __lcpp_x) _NOEXCEPT {return cosf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double cos(long double __lcpp_x) _NOEXCEPT {return cosl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -741,8 +749,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float cosh(float __lcpp_x) _NOEXCEPT {return coshf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double cosh(long double __lcpp_x) _NOEXCEPT {return coshl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -753,8 +763,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float exp(float __lcpp_x) _NOEXCEPT {return expf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double exp(long double __lcpp_x) _NOEXCEPT {return expl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -789,8 +801,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float fmod(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return fmodf(__lcpp_x, __lcpp_y);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double fmod(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return fmodl(__lcpp_x, __lcpp_y);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -812,8 +826,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float frexp(float __lcpp_x, int* __lcpp_e) _NOEXCEPT {return frexpf(__lcpp_x, __lcpp_e);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double frexp(long double __lcpp_x, int* __lcpp_e) _NOEXCEPT {return frexpl(__lcpp_x, __lcpp_e);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -848,8 +864,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float log10(float __lcpp_x) _NOEXCEPT {return log10f(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double log10(long double __lcpp_x) _NOEXCEPT {return log10l(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -860,15 +878,19 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float modf(float __lcpp_x, float* __lcpp_y) _NOEXCEPT {return modff(__lcpp_x, __lcpp_y);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double modf(long double __lcpp_x, long double* __lcpp_y) _NOEXCEPT {return modfl(__lcpp_x, __lcpp_y);} #endif +#endif // pow #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float pow(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return powf(__lcpp_x, __lcpp_y);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double pow(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return powl(__lcpp_x, __lcpp_y);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -890,8 +912,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float sin(float __lcpp_x) _NOEXCEPT {return sinf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double sin(long double __lcpp_x) _NOEXCEPT {return sinl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -902,8 +926,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float sinh(float __lcpp_x) _NOEXCEPT {return sinhf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double sinh(long double __lcpp_x) _NOEXCEPT {return sinhl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -914,8 +940,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float sqrt(float __lcpp_x) _NOEXCEPT {return sqrtf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double sqrt(long double __lcpp_x) _NOEXCEPT {return sqrtl(__lcpp_x);} #endif +#endif #endif // __sun__ template @@ -928,8 +956,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float tan(float __lcpp_x) _NOEXCEPT {return tanf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double tan(long double __lcpp_x) _NOEXCEPT {return tanl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -940,8 +970,10 @@ #if !(defined(_LIBCPP_MSVCRT) || defined(_AIX)) inline _LIBCPP_INLINE_VISIBILITY float tanh(float __lcpp_x) _NOEXCEPT {return tanhf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double tanh(long double __lcpp_x) _NOEXCEPT {return tanhl(__lcpp_x);} #endif +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -952,7 +984,9 @@ #ifndef _LIBCPP_MSVCRT inline _LIBCPP_INLINE_VISIBILITY float acosh(float __lcpp_x) _NOEXCEPT {return acoshf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double acosh(long double __lcpp_x) _NOEXCEPT {return acoshl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -964,7 +998,9 @@ #ifndef _LIBCPP_MSVCRT inline _LIBCPP_INLINE_VISIBILITY float asinh(float __lcpp_x) _NOEXCEPT {return asinhf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double asinh(long double __lcpp_x) _NOEXCEPT {return asinhl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -976,7 +1012,9 @@ #ifndef _LIBCPP_MSVCRT inline _LIBCPP_INLINE_VISIBILITY float atanh(float __lcpp_x) _NOEXCEPT {return atanhf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double atanh(long double __lcpp_x) _NOEXCEPT {return atanhl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -988,7 +1026,9 @@ #ifndef _LIBCPP_MSVCRT inline _LIBCPP_INLINE_VISIBILITY float cbrt(float __lcpp_x) _NOEXCEPT {return cbrtf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double cbrt(long double __lcpp_x) _NOEXCEPT {return cbrtl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1030,7 +1070,9 @@ // erf inline _LIBCPP_INLINE_VISIBILITY float erf(float __lcpp_x) _NOEXCEPT {return erff(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double erf(long double __lcpp_x) _NOEXCEPT {return erfl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1040,7 +1082,9 @@ // erfc inline _LIBCPP_INLINE_VISIBILITY float erfc(float __lcpp_x) _NOEXCEPT {return erfcf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double erfc(long double __lcpp_x) _NOEXCEPT {return erfcl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1050,7 +1094,9 @@ // exp2 inline _LIBCPP_INLINE_VISIBILITY float exp2(float __lcpp_x) _NOEXCEPT {return exp2f(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double exp2(long double __lcpp_x) _NOEXCEPT {return exp2l(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1060,7 +1106,9 @@ // expm1 inline _LIBCPP_INLINE_VISIBILITY float expm1(float __lcpp_x) _NOEXCEPT {return expm1f(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double expm1(long double __lcpp_x) _NOEXCEPT {return expm1l(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1091,7 +1139,9 @@ // fma inline _LIBCPP_INLINE_VISIBILITY float fma(float __lcpp_x, float __lcpp_y, float __lcpp_z) _NOEXCEPT {return fmaf(__lcpp_x, __lcpp_y, __lcpp_z);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double fma(long double __lcpp_x, long double __lcpp_y, long double __lcpp_z) _NOEXCEPT {return fmal(__lcpp_x, __lcpp_y, __lcpp_z);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1156,7 +1206,9 @@ // hypot inline _LIBCPP_INLINE_VISIBILITY float hypot(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return hypotf(__lcpp_x, __lcpp_y);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double hypot(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return hypotl(__lcpp_x, __lcpp_y);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1187,7 +1239,9 @@ // lgamma inline _LIBCPP_INLINE_VISIBILITY float lgamma(float __lcpp_x) _NOEXCEPT {return lgammaf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double lgamma(long double __lcpp_x) _NOEXCEPT {return lgammal(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1197,7 +1251,9 @@ // llrint inline _LIBCPP_INLINE_VISIBILITY long long llrint(float __lcpp_x) _NOEXCEPT {return llrintf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long long llrint(long double __lcpp_x) _NOEXCEPT {return llrintl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1227,7 +1283,9 @@ // log2 inline _LIBCPP_INLINE_VISIBILITY float log2(float __lcpp_x) _NOEXCEPT {return log2f(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 18 inline _LIBCPP_INLINE_VISIBILITY long double log2(long double __lcpp_x) _NOEXCEPT {return log2l(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1237,7 +1295,9 @@ // logb inline _LIBCPP_INLINE_VISIBILITY float logb(float __lcpp_x) _NOEXCEPT {return logbf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 18 inline _LIBCPP_INLINE_VISIBILITY long double logb(long double __lcpp_x) _NOEXCEPT {return logbl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1247,7 +1307,9 @@ // lrint inline _LIBCPP_INLINE_VISIBILITY long lrint(float __lcpp_x) _NOEXCEPT {return lrintf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long lrint(long double __lcpp_x) _NOEXCEPT {return lrintl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1269,7 +1331,9 @@ // nearbyint inline _LIBCPP_INLINE_VISIBILITY float nearbyint(float __lcpp_x) _NOEXCEPT {return nearbyintf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double nearbyint(long double __lcpp_x) _NOEXCEPT {return nearbyintl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1279,7 +1343,9 @@ // nextafter inline _LIBCPP_INLINE_VISIBILITY float nextafter(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return nextafterf(__lcpp_x, __lcpp_y);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double nextafter(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return nextafterl(__lcpp_x, __lcpp_y);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1300,7 +1366,9 @@ // nexttoward inline _LIBCPP_INLINE_VISIBILITY float nexttoward(float __lcpp_x, long double __lcpp_y) _NOEXCEPT {return nexttowardf(__lcpp_x, __lcpp_y);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 18 inline _LIBCPP_INLINE_VISIBILITY long double nexttoward(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return nexttowardl(__lcpp_x, __lcpp_y);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1310,7 +1378,9 @@ // remainder inline _LIBCPP_INLINE_VISIBILITY float remainder(float __lcpp_x, float __lcpp_y) _NOEXCEPT {return remainderf(__lcpp_x, __lcpp_y);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double remainder(long double __lcpp_x, long double __lcpp_y) _NOEXCEPT {return remainderl(__lcpp_x, __lcpp_y);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1331,7 +1401,9 @@ // remquo inline _LIBCPP_INLINE_VISIBILITY float remquo(float __lcpp_x, float __lcpp_y, int* __lcpp_z) _NOEXCEPT {return remquof(__lcpp_x, __lcpp_y, __lcpp_z);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double remquo(long double __lcpp_x, long double __lcpp_y, int* __lcpp_z) _NOEXCEPT {return remquol(__lcpp_x, __lcpp_y, __lcpp_z);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1352,7 +1424,9 @@ // rint inline _LIBCPP_INLINE_VISIBILITY float rint(float __lcpp_x) _NOEXCEPT {return rintf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double rint(long double __lcpp_x) _NOEXCEPT {return rintl(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY @@ -1392,7 +1466,9 @@ // tgamma inline _LIBCPP_INLINE_VISIBILITY float tgamma(float __lcpp_x) _NOEXCEPT {return tgammaf(__lcpp_x);} +#if !defined(__ANDROID__) || __ANDROID_API__ >= 21 inline _LIBCPP_INLINE_VISIBILITY long double tgamma(long double __lcpp_x) _NOEXCEPT {return tgammal(__lcpp_x);} +#endif template inline _LIBCPP_INLINE_VISIBILITY