diff --git a/libcxx/include/cmath b/libcxx/include/cmath --- a/libcxx/include/cmath +++ b/libcxx/include/cmath @@ -328,153 +328,83 @@ _LIBCPP_BEGIN_NAMESPACE_STD -using ::signbit _LIBCPP_USING_IF_EXISTS; -using ::fpclassify _LIBCPP_USING_IF_EXISTS; -using ::isfinite _LIBCPP_USING_IF_EXISTS; -using ::isinf _LIBCPP_USING_IF_EXISTS; -using ::isnan _LIBCPP_USING_IF_EXISTS; -using ::isnormal _LIBCPP_USING_IF_EXISTS; -using ::isgreater _LIBCPP_USING_IF_EXISTS; -using ::isgreaterequal _LIBCPP_USING_IF_EXISTS; -using ::isless _LIBCPP_USING_IF_EXISTS; -using ::islessequal _LIBCPP_USING_IF_EXISTS; -using ::islessgreater _LIBCPP_USING_IF_EXISTS; -using ::isunordered _LIBCPP_USING_IF_EXISTS; -using ::isunordered _LIBCPP_USING_IF_EXISTS; - using ::float_t _LIBCPP_USING_IF_EXISTS; using ::double_t _LIBCPP_USING_IF_EXISTS; using ::abs _LIBCPP_USING_IF_EXISTS; -using ::acos _LIBCPP_USING_IF_EXISTS; using ::acosf _LIBCPP_USING_IF_EXISTS; -using ::asin _LIBCPP_USING_IF_EXISTS; using ::asinf _LIBCPP_USING_IF_EXISTS; -using ::atan _LIBCPP_USING_IF_EXISTS; using ::atanf _LIBCPP_USING_IF_EXISTS; -using ::atan2 _LIBCPP_USING_IF_EXISTS; using ::atan2f _LIBCPP_USING_IF_EXISTS; -using ::ceil _LIBCPP_USING_IF_EXISTS; using ::ceilf _LIBCPP_USING_IF_EXISTS; -using ::cos _LIBCPP_USING_IF_EXISTS; using ::cosf _LIBCPP_USING_IF_EXISTS; -using ::cosh _LIBCPP_USING_IF_EXISTS; using ::coshf _LIBCPP_USING_IF_EXISTS; -using ::exp _LIBCPP_USING_IF_EXISTS; using ::expf _LIBCPP_USING_IF_EXISTS; -using ::fabs _LIBCPP_USING_IF_EXISTS; using ::fabsf _LIBCPP_USING_IF_EXISTS; -using ::floor _LIBCPP_USING_IF_EXISTS; using ::floorf _LIBCPP_USING_IF_EXISTS; -using ::fmod _LIBCPP_USING_IF_EXISTS; using ::fmodf _LIBCPP_USING_IF_EXISTS; -using ::frexp _LIBCPP_USING_IF_EXISTS; using ::frexpf _LIBCPP_USING_IF_EXISTS; -using ::ldexp _LIBCPP_USING_IF_EXISTS; using ::ldexpf _LIBCPP_USING_IF_EXISTS; -using ::log _LIBCPP_USING_IF_EXISTS; using ::logf _LIBCPP_USING_IF_EXISTS; -using ::log10 _LIBCPP_USING_IF_EXISTS; using ::log10f _LIBCPP_USING_IF_EXISTS; -using ::modf _LIBCPP_USING_IF_EXISTS; using ::modff _LIBCPP_USING_IF_EXISTS; -using ::pow _LIBCPP_USING_IF_EXISTS; using ::powf _LIBCPP_USING_IF_EXISTS; -using ::sin _LIBCPP_USING_IF_EXISTS; using ::sinf _LIBCPP_USING_IF_EXISTS; -using ::sinh _LIBCPP_USING_IF_EXISTS; using ::sinhf _LIBCPP_USING_IF_EXISTS; -using ::sqrt _LIBCPP_USING_IF_EXISTS; using ::sqrtf _LIBCPP_USING_IF_EXISTS; -using ::tan _LIBCPP_USING_IF_EXISTS; using ::tanf _LIBCPP_USING_IF_EXISTS; -using ::tanh _LIBCPP_USING_IF_EXISTS; using ::tanhf _LIBCPP_USING_IF_EXISTS; -using ::acosh _LIBCPP_USING_IF_EXISTS; using ::acoshf _LIBCPP_USING_IF_EXISTS; -using ::asinh _LIBCPP_USING_IF_EXISTS; using ::asinhf _LIBCPP_USING_IF_EXISTS; -using ::atanh _LIBCPP_USING_IF_EXISTS; using ::atanhf _LIBCPP_USING_IF_EXISTS; -using ::cbrt _LIBCPP_USING_IF_EXISTS; using ::cbrtf _LIBCPP_USING_IF_EXISTS; -using ::copysign _LIBCPP_USING_IF_EXISTS; using ::copysignf _LIBCPP_USING_IF_EXISTS; -using ::erf _LIBCPP_USING_IF_EXISTS; using ::erff _LIBCPP_USING_IF_EXISTS; -using ::erfc _LIBCPP_USING_IF_EXISTS; using ::erfcf _LIBCPP_USING_IF_EXISTS; -using ::exp2 _LIBCPP_USING_IF_EXISTS; using ::exp2f _LIBCPP_USING_IF_EXISTS; -using ::expm1 _LIBCPP_USING_IF_EXISTS; using ::expm1f _LIBCPP_USING_IF_EXISTS; -using ::fdim _LIBCPP_USING_IF_EXISTS; using ::fdimf _LIBCPP_USING_IF_EXISTS; using ::fmaf _LIBCPP_USING_IF_EXISTS; -using ::fma _LIBCPP_USING_IF_EXISTS; -using ::fmax _LIBCPP_USING_IF_EXISTS; using ::fmaxf _LIBCPP_USING_IF_EXISTS; -using ::fmin _LIBCPP_USING_IF_EXISTS; using ::fminf _LIBCPP_USING_IF_EXISTS; -using ::hypot _LIBCPP_USING_IF_EXISTS; using ::hypotf _LIBCPP_USING_IF_EXISTS; -using ::ilogb _LIBCPP_USING_IF_EXISTS; using ::ilogbf _LIBCPP_USING_IF_EXISTS; -using ::lgamma _LIBCPP_USING_IF_EXISTS; using ::lgammaf _LIBCPP_USING_IF_EXISTS; -using ::llrint _LIBCPP_USING_IF_EXISTS; using ::llrintf _LIBCPP_USING_IF_EXISTS; -using ::llround _LIBCPP_USING_IF_EXISTS; using ::llroundf _LIBCPP_USING_IF_EXISTS; -using ::log1p _LIBCPP_USING_IF_EXISTS; using ::log1pf _LIBCPP_USING_IF_EXISTS; -using ::log2 _LIBCPP_USING_IF_EXISTS; using ::log2f _LIBCPP_USING_IF_EXISTS; -using ::logb _LIBCPP_USING_IF_EXISTS; using ::logbf _LIBCPP_USING_IF_EXISTS; -using ::lrint _LIBCPP_USING_IF_EXISTS; using ::lrintf _LIBCPP_USING_IF_EXISTS; -using ::lround _LIBCPP_USING_IF_EXISTS; using ::lroundf _LIBCPP_USING_IF_EXISTS; using ::nan _LIBCPP_USING_IF_EXISTS; using ::nanf _LIBCPP_USING_IF_EXISTS; -using ::nearbyint _LIBCPP_USING_IF_EXISTS; using ::nearbyintf _LIBCPP_USING_IF_EXISTS; -using ::nextafter _LIBCPP_USING_IF_EXISTS; using ::nextafterf _LIBCPP_USING_IF_EXISTS; -using ::nexttoward _LIBCPP_USING_IF_EXISTS; using ::nexttowardf _LIBCPP_USING_IF_EXISTS; -using ::remainder _LIBCPP_USING_IF_EXISTS; using ::remainderf _LIBCPP_USING_IF_EXISTS; -using ::remquo _LIBCPP_USING_IF_EXISTS; using ::remquof _LIBCPP_USING_IF_EXISTS; -using ::rint _LIBCPP_USING_IF_EXISTS; using ::rintf _LIBCPP_USING_IF_EXISTS; -using ::round _LIBCPP_USING_IF_EXISTS; using ::roundf _LIBCPP_USING_IF_EXISTS; -using ::scalbln _LIBCPP_USING_IF_EXISTS; using ::scalblnf _LIBCPP_USING_IF_EXISTS; -using ::scalbn _LIBCPP_USING_IF_EXISTS; using ::scalbnf _LIBCPP_USING_IF_EXISTS; -using ::tgamma _LIBCPP_USING_IF_EXISTS; using ::tgammaf _LIBCPP_USING_IF_EXISTS; -using ::trunc _LIBCPP_USING_IF_EXISTS; using ::truncf _LIBCPP_USING_IF_EXISTS; using ::acosl _LIBCPP_USING_IF_EXISTS; diff --git a/libcxx/include/math.h b/libcxx/include/math.h --- a/libcxx/include/math.h +++ b/libcxx/include/math.h @@ -310,6 +310,8 @@ #include #include +_LIBCPP_BEGIN_NAMESPACE_STD + // signbit #ifdef signbit @@ -791,6 +793,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float acos(float __x) _NOEXCEPT {return ::acosf(__x);} +using ::acos _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double acos(long double __x) _NOEXCEPT {return ::acosl(__x);} # endif @@ -803,6 +806,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float asin(float __x) _NOEXCEPT {return ::asinf(__x);} +using ::asin _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double asin(long double __x) _NOEXCEPT {return ::asinl(__x);} # endif @@ -815,6 +819,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float atan(float __x) _NOEXCEPT {return ::atanf(__x);} +using ::atan _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double atan(long double __x) _NOEXCEPT {return ::atanl(__x);} # endif @@ -827,6 +832,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float atan2(float __y, float __x) _NOEXCEPT {return ::atan2f(__y, __x);} +using ::atan2 _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double atan2(long double __y, long double __x) _NOEXCEPT {return ::atan2l(__y, __x);} # endif @@ -850,6 +856,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float ceil(float __x) _NOEXCEPT {return ::ceilf(__x);} +using ::ceil _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double ceil(long double __x) _NOEXCEPT {return ::ceill(__x);} # endif @@ -862,6 +869,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float cos(float __x) _NOEXCEPT {return ::cosf(__x);} +using ::cos _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double cos(long double __x) _NOEXCEPT {return ::cosl(__x);} # endif @@ -874,6 +882,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float cosh(float __x) _NOEXCEPT {return ::coshf(__x);} +using ::cosh _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double cosh(long double __x) _NOEXCEPT {return ::coshl(__x);} # endif @@ -886,6 +895,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float exp(float __x) _NOEXCEPT {return ::expf(__x);} +using ::exp _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double exp(long double __x) _NOEXCEPT {return ::expl(__x);} # endif @@ -898,6 +908,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float fabs(float __x) _NOEXCEPT {return ::fabsf(__x);} +using ::fabs _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double fabs(long double __x) _NOEXCEPT {return ::fabsl(__x);} # endif @@ -910,6 +921,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float floor(float __x) _NOEXCEPT {return ::floorf(__x);} +using ::floor _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double floor(long double __x) _NOEXCEPT {return ::floorl(__x);} # endif @@ -922,6 +934,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float fmod(float __x, float __y) _NOEXCEPT {return ::fmodf(__x, __y);} +using ::fmod _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double fmod(long double __x, long double __y) _NOEXCEPT {return ::fmodl(__x, __y);} # endif @@ -945,6 +958,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float frexp(float __x, int* __e) _NOEXCEPT {return ::frexpf(__x, __e);} +using ::frexp _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double frexp(long double __x, int* __e) _NOEXCEPT {return ::frexpl(__x, __e);} # endif @@ -957,6 +971,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float ldexp(float __x, int __e) _NOEXCEPT {return ::ldexpf(__x, __e);} +using ::ldexp _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double ldexp(long double __x, int __e) _NOEXCEPT {return ::ldexpl(__x, __e);} # endif @@ -969,6 +984,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float log(float __x) _NOEXCEPT {return ::logf(__x);} +using ::log _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double log(long double __x) _NOEXCEPT {return ::logl(__x);} # endif @@ -981,6 +997,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float log10(float __x) _NOEXCEPT {return ::log10f(__x);} +using ::log10 _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double log10(long double __x) _NOEXCEPT {return ::log10l(__x);} # endif @@ -993,6 +1010,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float modf(float __x, float* __y) _NOEXCEPT {return ::modff(__x, __y);} +using ::modf _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double modf(long double __x, long double* __y) _NOEXCEPT {return ::modfl(__x, __y);} # endif @@ -1000,6 +1018,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float pow(float __x, float __y) _NOEXCEPT {return ::powf(__x, __y);} +using ::pow _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double pow(long double __x, long double __y) _NOEXCEPT {return ::powl(__x, __y);} # endif @@ -1023,6 +1042,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float sin(float __x) _NOEXCEPT {return ::sinf(__x);} +using ::sin _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double sin(long double __x) _NOEXCEPT {return ::sinl(__x);} #endif @@ -1035,6 +1055,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float sinh(float __x) _NOEXCEPT {return ::sinhf(__x);} +using ::sinh _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double sinh(long double __x) _NOEXCEPT {return ::sinhl(__x);} # endif @@ -1047,6 +1068,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float sqrt(float __x) _NOEXCEPT {return ::sqrtf(__x);} +using ::sqrt _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double sqrt(long double __x) _NOEXCEPT {return ::sqrtl(__x);} # endif @@ -1059,6 +1081,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float tan(float __x) _NOEXCEPT {return ::tanf(__x);} +using ::tan _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double tan(long double __x) _NOEXCEPT {return ::tanl(__x);} # endif @@ -1071,6 +1094,7 @@ # if !defined(__sun__) inline _LIBCPP_HIDE_FROM_ABI float tanh(float __x) _NOEXCEPT {return ::tanhf(__x);} +using ::tanh _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double tanh(long double __x) _NOEXCEPT {return ::tanhl(__x);} # endif @@ -1082,6 +1106,7 @@ // acosh inline _LIBCPP_HIDE_FROM_ABI float acosh(float __x) _NOEXCEPT {return ::acoshf(__x);} +using ::acosh _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double acosh(long double __x) _NOEXCEPT {return ::acoshl(__x);} template @@ -1092,6 +1117,7 @@ // asinh inline _LIBCPP_HIDE_FROM_ABI float asinh(float __x) _NOEXCEPT {return ::asinhf(__x);} +using ::asinh _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double asinh(long double __x) _NOEXCEPT {return ::asinhl(__x);} template @@ -1102,6 +1128,7 @@ // atanh inline _LIBCPP_HIDE_FROM_ABI float atanh(float __x) _NOEXCEPT {return ::atanhf(__x);} +using ::atanh _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double atanh(long double __x) _NOEXCEPT {return ::atanhl(__x);} template @@ -1112,6 +1139,7 @@ // cbrt inline _LIBCPP_HIDE_FROM_ABI float cbrt(float __x) _NOEXCEPT {return ::cbrtf(__x);} +using ::cbrt _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double cbrt(long double __x) _NOEXCEPT {return ::cbrtl(__x);} template @@ -1177,11 +1205,13 @@ } inline _LIBCPP_HIDE_FROM_ABI float copysign(float __x, float __y) _NOEXCEPT { - return ::__libcpp_copysign(__x, __y); + return std::__libcpp_copysign(__x, __y); } +using ::copysign _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long double copysign(long double __x, long double __y) _NOEXCEPT { - return ::__libcpp_copysign(__x, __y); + return std::__libcpp_copysign(__x, __y); } template @@ -1193,12 +1223,13 @@ std::__promote<_A1, _A2> >::type copysign(_A1 __x, _A2 __y) _NOEXCEPT { - return ::__libcpp_copysign(__x, __y); + return std::__libcpp_copysign(__x, __y); } // erf inline _LIBCPP_HIDE_FROM_ABI float erf(float __x) _NOEXCEPT {return ::erff(__x);} +using ::erf _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double erf(long double __x) _NOEXCEPT {return ::erfl(__x);} template @@ -1209,6 +1240,7 @@ // erfc inline _LIBCPP_HIDE_FROM_ABI float erfc(float __x) _NOEXCEPT {return ::erfcf(__x);} +using ::erfc _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double erfc(long double __x) _NOEXCEPT {return ::erfcl(__x);} template @@ -1219,6 +1251,7 @@ // exp2 inline _LIBCPP_HIDE_FROM_ABI float exp2(float __x) _NOEXCEPT {return ::exp2f(__x);} +using ::exp2 _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double exp2(long double __x) _NOEXCEPT {return ::exp2l(__x);} template @@ -1229,6 +1262,7 @@ // expm1 inline _LIBCPP_HIDE_FROM_ABI float expm1(float __x) _NOEXCEPT {return ::expm1f(__x);} +using ::expm1 _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double expm1(long double __x) _NOEXCEPT {return ::expm1l(__x);} template @@ -1239,6 +1273,7 @@ // fdim inline _LIBCPP_HIDE_FROM_ABI float fdim(float __x, float __y) _NOEXCEPT {return ::fdimf(__x, __y);} +using ::fdim _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double fdim(long double __x, long double __y) _NOEXCEPT {return ::fdiml(__x, __y);} template @@ -1267,6 +1302,9 @@ return ::fmaf(__x, __y, __z); #endif } + +using ::fma _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long double fma(long double __x, long double __y, long double __z) _NOEXCEPT { #if __has_builtin(__builtin_fmal) @@ -1301,6 +1339,7 @@ // fmax inline _LIBCPP_HIDE_FROM_ABI float fmax(float __x, float __y) _NOEXCEPT {return ::fmaxf(__x, __y);} +using ::fmax _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double fmax(long double __x, long double __y) _NOEXCEPT {return ::fmaxl(__x, __y);} template @@ -1322,6 +1361,7 @@ // fmin inline _LIBCPP_HIDE_FROM_ABI float fmin(float __x, float __y) _NOEXCEPT {return ::fminf(__x, __y);} +using ::fmin _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double fmin(long double __x, long double __y) _NOEXCEPT {return ::fminl(__x, __y);} template @@ -1343,6 +1383,7 @@ // hypot inline _LIBCPP_HIDE_FROM_ABI float hypot(float __x, float __y) _NOEXCEPT {return ::hypotf(__x, __y);} +using ::hypot _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double hypot(long double __x, long double __y) _NOEXCEPT {return ::hypotl(__x, __y);} template @@ -1364,6 +1405,7 @@ // ilogb inline _LIBCPP_HIDE_FROM_ABI int ilogb(float __x) _NOEXCEPT {return ::ilogbf(__x);} +using ::ilogb _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI int ilogb(long double __x) _NOEXCEPT {return ::ilogbl(__x);} template @@ -1374,6 +1416,7 @@ // lgamma inline _LIBCPP_HIDE_FROM_ABI float lgamma(float __x) _NOEXCEPT {return ::lgammaf(__x);} +using ::lgamma _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double lgamma(long double __x) _NOEXCEPT {return ::lgammal(__x);} template @@ -1391,6 +1434,9 @@ return ::llrintf(__x); #endif } + +using ::llrint _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long long llrint(long double __x) _NOEXCEPT { #if __has_builtin(__builtin_llrintl) @@ -1422,6 +1468,9 @@ return ::llroundf(__x); #endif } + +using ::llround _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long long llround(long double __x) _NOEXCEPT { #if __has_builtin(__builtin_llroundl) @@ -1446,6 +1495,7 @@ // log1p inline _LIBCPP_HIDE_FROM_ABI float log1p(float __x) _NOEXCEPT {return ::log1pf(__x);} +using ::log1p _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double log1p(long double __x) _NOEXCEPT {return ::log1pl(__x);} template @@ -1456,6 +1506,7 @@ // log2 inline _LIBCPP_HIDE_FROM_ABI float log2(float __x) _NOEXCEPT {return ::log2f(__x);} +using ::log2 _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double log2(long double __x) _NOEXCEPT {return ::log2l(__x);} template @@ -1466,6 +1517,7 @@ // logb inline _LIBCPP_HIDE_FROM_ABI float logb(float __x) _NOEXCEPT {return ::logbf(__x);} +using ::logb _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double logb(long double __x) _NOEXCEPT {return ::logbl(__x);} template @@ -1483,6 +1535,9 @@ return ::lrintf(__x); #endif } + +using ::lrint _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long lrint(long double __x) _NOEXCEPT { #if __has_builtin(__builtin_lrintl) @@ -1514,6 +1569,9 @@ return ::lroundf(__x); #endif } + +using ::lround _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long lround(long double __x) _NOEXCEPT { #if __has_builtin(__builtin_lroundl) @@ -1540,6 +1598,7 @@ // nearbyint inline _LIBCPP_HIDE_FROM_ABI float nearbyint(float __x) _NOEXCEPT {return ::nearbyintf(__x);} +using ::nearbyint _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double nearbyint(long double __x) _NOEXCEPT {return ::nearbyintl(__x);} template @@ -1550,6 +1609,7 @@ // nextafter inline _LIBCPP_HIDE_FROM_ABI float nextafter(float __x, float __y) _NOEXCEPT {return ::nextafterf(__x, __y);} +using ::nextafter _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double nextafter(long double __x, long double __y) _NOEXCEPT {return ::nextafterl(__x, __y);} template @@ -1571,6 +1631,7 @@ // nexttoward inline _LIBCPP_HIDE_FROM_ABI float nexttoward(float __x, long double __y) _NOEXCEPT {return ::nexttowardf(__x, __y);} +using ::nexttoward _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double nexttoward(long double __x, long double __y) _NOEXCEPT {return ::nexttowardl(__x, __y);} template @@ -1581,6 +1642,7 @@ // remainder inline _LIBCPP_HIDE_FROM_ABI float remainder(float __x, float __y) _NOEXCEPT {return ::remainderf(__x, __y);} +using ::remainder _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double remainder(long double __x, long double __y) _NOEXCEPT {return ::remainderl(__x, __y);} template @@ -1602,6 +1664,7 @@ // remquo inline _LIBCPP_HIDE_FROM_ABI float remquo(float __x, float __y, int* __z) _NOEXCEPT {return ::remquof(__x, __y, __z);} +using ::remquo _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double remquo(long double __x, long double __y, int* __z) _NOEXCEPT {return ::remquol(__x, __y, __z);} template @@ -1630,6 +1693,9 @@ return ::rintf(__x); #endif } + +using ::rint _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long double rint(long double __x) _NOEXCEPT { #if __has_builtin(__builtin_rintl) @@ -1661,6 +1727,9 @@ return ::round(__x); #endif } + +using ::round _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long double round(long double __x) _NOEXCEPT { #if __has_builtin(__builtin_roundl) @@ -1685,6 +1754,7 @@ // scalbln inline _LIBCPP_HIDE_FROM_ABI float scalbln(float __x, long __y) _NOEXCEPT {return ::scalblnf(__x, __y);} +using ::scalbln _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double scalbln(long double __x, long __y) _NOEXCEPT {return ::scalblnl(__x, __y);} template @@ -1695,6 +1765,7 @@ // scalbn inline _LIBCPP_HIDE_FROM_ABI float scalbn(float __x, int __y) _NOEXCEPT {return ::scalbnf(__x, __y);} +using ::scalbn _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double scalbn(long double __x, int __y) _NOEXCEPT {return ::scalbnl(__x, __y);} template @@ -1705,6 +1776,7 @@ // tgamma inline _LIBCPP_HIDE_FROM_ABI float tgamma(float __x) _NOEXCEPT {return ::tgammaf(__x);} +using ::tgamma _LIBCPP_USING_IF_EXISTS; inline _LIBCPP_HIDE_FROM_ABI long double tgamma(long double __x) _NOEXCEPT {return ::tgammal(__x);} template @@ -1722,6 +1794,9 @@ return ::trunc(__x); #endif } + +using ::trunc _LIBCPP_USING_IF_EXISTS; + inline _LIBCPP_HIDE_FROM_ABI long double trunc(long double __x) _NOEXCEPT { #if __has_builtin(__builtin_truncl) @@ -1743,6 +1818,93 @@ #endif } +_LIBCPP_END_NAMESPACE_STD + +using std::signbit; +using std::fpclassify; +using std::isfinite; +using std::isinf; +using std::isnan; +using std::isnormal; +using std::isgreater; +using std::isgreaterequal; +using std::isless; +using std::islessequal; +using std::islessgreater; +using std::isunordered; +using std::isunordered; + +using std::acos; +using std::asin; +using std::atan; +using std::atan2; +using std::ceil; +using std::cos; +using std::cosh; + +using std::exp; + +using std::fabs; +using std::floor; + +using std::fmod; + +using std::frexp; +using std::ldexp; + +using std::log; + +using std::log10; +using std::modf; + +using std::pow; + +using std::sin; +using std::sinh; + +using std::sqrt; +using std::tan; + +using std::tanh; + +using std::acosh; +using std::asinh; +using std::atanh; +using std::cbrt; + +using std::copysign; + +using std::erf; +using std::erfc; +using std::exp2; +using std::expm1; +using std::fdim; +using std::fma; +using std::fmax; +using std::fmin; +using std::hypot; +using std::ilogb; +using std::lgamma; +using std::llrint; +using std::llround; +using std::log1p; +using std::log2; +using std::logb; +using std::lrint; +using std::lround; + +using std::nearbyint; +using std::nextafter; +using std::nexttoward; +using std::remainder; +using std::remquo; +using std::rint; +using std::round; +using std::scalbln; +using std::scalbn; +using std::tgamma; +using std::trunc; + } // extern "C++" #endif // __cplusplus