15f757f3fSDimitry Andric// -*- C++ -*- 25f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 35f757f3fSDimitry Andric// 45f757f3fSDimitry Andric// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 55f757f3fSDimitry Andric// See https://llvm.org/LICENSE.txt for license information. 65f757f3fSDimitry Andric// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 75f757f3fSDimitry Andric// 85f757f3fSDimitry Andric//===----------------------------------------------------------------------===// 95f757f3fSDimitry Andric 105f757f3fSDimitry Andricexport namespace std { 115f757f3fSDimitry Andric 12*0fca6ea1SDimitry Andric using std::double_t _LIBCPP_USING_IF_EXISTS; 13*0fca6ea1SDimitry Andric using std::float_t _LIBCPP_USING_IF_EXISTS; 145f757f3fSDimitry Andric 15*0fca6ea1SDimitry Andric using std::acos _LIBCPP_USING_IF_EXISTS; 16*0fca6ea1SDimitry Andric using std::acosf _LIBCPP_USING_IF_EXISTS; 17*0fca6ea1SDimitry Andric using std::acosl _LIBCPP_USING_IF_EXISTS; 185f757f3fSDimitry Andric 19*0fca6ea1SDimitry Andric using std::asin _LIBCPP_USING_IF_EXISTS; 20*0fca6ea1SDimitry Andric using std::asinf _LIBCPP_USING_IF_EXISTS; 21*0fca6ea1SDimitry Andric using std::asinl _LIBCPP_USING_IF_EXISTS; 225f757f3fSDimitry Andric 23*0fca6ea1SDimitry Andric using std::atan _LIBCPP_USING_IF_EXISTS; 24*0fca6ea1SDimitry Andric using std::atanf _LIBCPP_USING_IF_EXISTS; 25*0fca6ea1SDimitry Andric using std::atanl _LIBCPP_USING_IF_EXISTS; 265f757f3fSDimitry Andric 27*0fca6ea1SDimitry Andric using std::atan2 _LIBCPP_USING_IF_EXISTS; 28*0fca6ea1SDimitry Andric using std::atan2f _LIBCPP_USING_IF_EXISTS; 29*0fca6ea1SDimitry Andric using std::atan2l _LIBCPP_USING_IF_EXISTS; 305f757f3fSDimitry Andric 31*0fca6ea1SDimitry Andric using std::cos _LIBCPP_USING_IF_EXISTS; 32*0fca6ea1SDimitry Andric using std::cosf _LIBCPP_USING_IF_EXISTS; 33*0fca6ea1SDimitry Andric using std::cosl _LIBCPP_USING_IF_EXISTS; 345f757f3fSDimitry Andric 35*0fca6ea1SDimitry Andric using std::sin _LIBCPP_USING_IF_EXISTS; 36*0fca6ea1SDimitry Andric using std::sinf _LIBCPP_USING_IF_EXISTS; 37*0fca6ea1SDimitry Andric using std::sinl _LIBCPP_USING_IF_EXISTS; 385f757f3fSDimitry Andric 39*0fca6ea1SDimitry Andric using std::tan _LIBCPP_USING_IF_EXISTS; 40*0fca6ea1SDimitry Andric using std::tanf _LIBCPP_USING_IF_EXISTS; 41*0fca6ea1SDimitry Andric using std::tanl _LIBCPP_USING_IF_EXISTS; 425f757f3fSDimitry Andric 43*0fca6ea1SDimitry Andric using std::acosh _LIBCPP_USING_IF_EXISTS; 44*0fca6ea1SDimitry Andric using std::acoshf _LIBCPP_USING_IF_EXISTS; 45*0fca6ea1SDimitry Andric using std::acoshl _LIBCPP_USING_IF_EXISTS; 465f757f3fSDimitry Andric 47*0fca6ea1SDimitry Andric using std::asinh _LIBCPP_USING_IF_EXISTS; 48*0fca6ea1SDimitry Andric using std::asinhf _LIBCPP_USING_IF_EXISTS; 49*0fca6ea1SDimitry Andric using std::asinhl _LIBCPP_USING_IF_EXISTS; 505f757f3fSDimitry Andric 51*0fca6ea1SDimitry Andric using std::atanh _LIBCPP_USING_IF_EXISTS; 52*0fca6ea1SDimitry Andric using std::atanhf _LIBCPP_USING_IF_EXISTS; 53*0fca6ea1SDimitry Andric using std::atanhl _LIBCPP_USING_IF_EXISTS; 545f757f3fSDimitry Andric 55*0fca6ea1SDimitry Andric using std::cosh _LIBCPP_USING_IF_EXISTS; 56*0fca6ea1SDimitry Andric using std::coshf _LIBCPP_USING_IF_EXISTS; 57*0fca6ea1SDimitry Andric using std::coshl _LIBCPP_USING_IF_EXISTS; 585f757f3fSDimitry Andric 59*0fca6ea1SDimitry Andric using std::sinh _LIBCPP_USING_IF_EXISTS; 60*0fca6ea1SDimitry Andric using std::sinhf _LIBCPP_USING_IF_EXISTS; 61*0fca6ea1SDimitry Andric using std::sinhl _LIBCPP_USING_IF_EXISTS; 625f757f3fSDimitry Andric 63*0fca6ea1SDimitry Andric using std::tanh _LIBCPP_USING_IF_EXISTS; 64*0fca6ea1SDimitry Andric using std::tanhf _LIBCPP_USING_IF_EXISTS; 65*0fca6ea1SDimitry Andric using std::tanhl _LIBCPP_USING_IF_EXISTS; 665f757f3fSDimitry Andric 67*0fca6ea1SDimitry Andric using std::exp _LIBCPP_USING_IF_EXISTS; 68*0fca6ea1SDimitry Andric using std::expf _LIBCPP_USING_IF_EXISTS; 69*0fca6ea1SDimitry Andric using std::expl _LIBCPP_USING_IF_EXISTS; 705f757f3fSDimitry Andric 71*0fca6ea1SDimitry Andric using std::exp2 _LIBCPP_USING_IF_EXISTS; 72*0fca6ea1SDimitry Andric using std::exp2f _LIBCPP_USING_IF_EXISTS; 73*0fca6ea1SDimitry Andric using std::exp2l _LIBCPP_USING_IF_EXISTS; 745f757f3fSDimitry Andric 75*0fca6ea1SDimitry Andric using std::expm1 _LIBCPP_USING_IF_EXISTS; 76*0fca6ea1SDimitry Andric using std::expm1f _LIBCPP_USING_IF_EXISTS; 77*0fca6ea1SDimitry Andric using std::expm1l _LIBCPP_USING_IF_EXISTS; 785f757f3fSDimitry Andric 79*0fca6ea1SDimitry Andric using std::frexp _LIBCPP_USING_IF_EXISTS; 80*0fca6ea1SDimitry Andric using std::frexpf _LIBCPP_USING_IF_EXISTS; 81*0fca6ea1SDimitry Andric using std::frexpl _LIBCPP_USING_IF_EXISTS; 825f757f3fSDimitry Andric 83*0fca6ea1SDimitry Andric using std::ilogb _LIBCPP_USING_IF_EXISTS; 84*0fca6ea1SDimitry Andric using std::ilogbf _LIBCPP_USING_IF_EXISTS; 85*0fca6ea1SDimitry Andric using std::ilogbl _LIBCPP_USING_IF_EXISTS; 865f757f3fSDimitry Andric 87*0fca6ea1SDimitry Andric using std::ldexp _LIBCPP_USING_IF_EXISTS; 88*0fca6ea1SDimitry Andric using std::ldexpf _LIBCPP_USING_IF_EXISTS; 89*0fca6ea1SDimitry Andric using std::ldexpl _LIBCPP_USING_IF_EXISTS; 905f757f3fSDimitry Andric 91*0fca6ea1SDimitry Andric using std::log _LIBCPP_USING_IF_EXISTS; 92*0fca6ea1SDimitry Andric using std::logf _LIBCPP_USING_IF_EXISTS; 93*0fca6ea1SDimitry Andric using std::logl _LIBCPP_USING_IF_EXISTS; 945f757f3fSDimitry Andric 95*0fca6ea1SDimitry Andric using std::log10 _LIBCPP_USING_IF_EXISTS; 96*0fca6ea1SDimitry Andric using std::log10f _LIBCPP_USING_IF_EXISTS; 97*0fca6ea1SDimitry Andric using std::log10l _LIBCPP_USING_IF_EXISTS; 985f757f3fSDimitry Andric 99*0fca6ea1SDimitry Andric using std::log1p _LIBCPP_USING_IF_EXISTS; 100*0fca6ea1SDimitry Andric using std::log1pf _LIBCPP_USING_IF_EXISTS; 101*0fca6ea1SDimitry Andric using std::log1pl _LIBCPP_USING_IF_EXISTS; 1025f757f3fSDimitry Andric 103*0fca6ea1SDimitry Andric using std::log2 _LIBCPP_USING_IF_EXISTS; 104*0fca6ea1SDimitry Andric using std::log2f _LIBCPP_USING_IF_EXISTS; 105*0fca6ea1SDimitry Andric using std::log2l _LIBCPP_USING_IF_EXISTS; 1065f757f3fSDimitry Andric 107*0fca6ea1SDimitry Andric using std::logb _LIBCPP_USING_IF_EXISTS; 108*0fca6ea1SDimitry Andric using std::logbf _LIBCPP_USING_IF_EXISTS; 109*0fca6ea1SDimitry Andric using std::logbl _LIBCPP_USING_IF_EXISTS; 1105f757f3fSDimitry Andric 111*0fca6ea1SDimitry Andric using std::modf _LIBCPP_USING_IF_EXISTS; 112*0fca6ea1SDimitry Andric using std::modff _LIBCPP_USING_IF_EXISTS; 113*0fca6ea1SDimitry Andric using std::modfl _LIBCPP_USING_IF_EXISTS; 1145f757f3fSDimitry Andric 115*0fca6ea1SDimitry Andric using std::scalbn _LIBCPP_USING_IF_EXISTS; 116*0fca6ea1SDimitry Andric using std::scalbnf _LIBCPP_USING_IF_EXISTS; 117*0fca6ea1SDimitry Andric using std::scalbnl _LIBCPP_USING_IF_EXISTS; 1185f757f3fSDimitry Andric 119*0fca6ea1SDimitry Andric using std::scalbln _LIBCPP_USING_IF_EXISTS; 120*0fca6ea1SDimitry Andric using std::scalblnf _LIBCPP_USING_IF_EXISTS; 121*0fca6ea1SDimitry Andric using std::scalblnl _LIBCPP_USING_IF_EXISTS; 1225f757f3fSDimitry Andric 123*0fca6ea1SDimitry Andric using std::cbrt _LIBCPP_USING_IF_EXISTS; 124*0fca6ea1SDimitry Andric using std::cbrtf _LIBCPP_USING_IF_EXISTS; 125*0fca6ea1SDimitry Andric using std::cbrtl _LIBCPP_USING_IF_EXISTS; 1265f757f3fSDimitry Andric 1275f757f3fSDimitry Andric // [c.math.abs], absolute values 128*0fca6ea1SDimitry Andric using std::abs _LIBCPP_USING_IF_EXISTS; 1295f757f3fSDimitry Andric 130*0fca6ea1SDimitry Andric using std::fabs _LIBCPP_USING_IF_EXISTS; 131*0fca6ea1SDimitry Andric using std::fabsf _LIBCPP_USING_IF_EXISTS; 132*0fca6ea1SDimitry Andric using std::fabsl _LIBCPP_USING_IF_EXISTS; 1335f757f3fSDimitry Andric 134*0fca6ea1SDimitry Andric using std::hypot _LIBCPP_USING_IF_EXISTS; 135*0fca6ea1SDimitry Andric using std::hypotf _LIBCPP_USING_IF_EXISTS; 136*0fca6ea1SDimitry Andric using std::hypotl _LIBCPP_USING_IF_EXISTS; 1375f757f3fSDimitry Andric 1385f757f3fSDimitry Andric // [c.math.hypot3], three-dimensional hypotenuse 1395f757f3fSDimitry Andric 140*0fca6ea1SDimitry Andric using std::pow _LIBCPP_USING_IF_EXISTS; 141*0fca6ea1SDimitry Andric using std::powf _LIBCPP_USING_IF_EXISTS; 142*0fca6ea1SDimitry Andric using std::powl _LIBCPP_USING_IF_EXISTS; 1435f757f3fSDimitry Andric 144*0fca6ea1SDimitry Andric using std::sqrt _LIBCPP_USING_IF_EXISTS; 145*0fca6ea1SDimitry Andric using std::sqrtf _LIBCPP_USING_IF_EXISTS; 146*0fca6ea1SDimitry Andric using std::sqrtl _LIBCPP_USING_IF_EXISTS; 1475f757f3fSDimitry Andric 148*0fca6ea1SDimitry Andric using std::erf _LIBCPP_USING_IF_EXISTS; 149*0fca6ea1SDimitry Andric using std::erff _LIBCPP_USING_IF_EXISTS; 150*0fca6ea1SDimitry Andric using std::erfl _LIBCPP_USING_IF_EXISTS; 1515f757f3fSDimitry Andric 152*0fca6ea1SDimitry Andric using std::erfc _LIBCPP_USING_IF_EXISTS; 153*0fca6ea1SDimitry Andric using std::erfcf _LIBCPP_USING_IF_EXISTS; 154*0fca6ea1SDimitry Andric using std::erfcl _LIBCPP_USING_IF_EXISTS; 1555f757f3fSDimitry Andric 156*0fca6ea1SDimitry Andric using std::lgamma _LIBCPP_USING_IF_EXISTS; 157*0fca6ea1SDimitry Andric using std::lgammaf _LIBCPP_USING_IF_EXISTS; 158*0fca6ea1SDimitry Andric using std::lgammal _LIBCPP_USING_IF_EXISTS; 1595f757f3fSDimitry Andric 160*0fca6ea1SDimitry Andric using std::tgamma _LIBCPP_USING_IF_EXISTS; 161*0fca6ea1SDimitry Andric using std::tgammaf _LIBCPP_USING_IF_EXISTS; 162*0fca6ea1SDimitry Andric using std::tgammal _LIBCPP_USING_IF_EXISTS; 1635f757f3fSDimitry Andric 164*0fca6ea1SDimitry Andric using std::ceil _LIBCPP_USING_IF_EXISTS; 165*0fca6ea1SDimitry Andric using std::ceilf _LIBCPP_USING_IF_EXISTS; 166*0fca6ea1SDimitry Andric using std::ceill _LIBCPP_USING_IF_EXISTS; 1675f757f3fSDimitry Andric 168*0fca6ea1SDimitry Andric using std::floor _LIBCPP_USING_IF_EXISTS; 169*0fca6ea1SDimitry Andric using std::floorf _LIBCPP_USING_IF_EXISTS; 170*0fca6ea1SDimitry Andric using std::floorl _LIBCPP_USING_IF_EXISTS; 1715f757f3fSDimitry Andric 172*0fca6ea1SDimitry Andric using std::nearbyint _LIBCPP_USING_IF_EXISTS; 173*0fca6ea1SDimitry Andric using std::nearbyintf _LIBCPP_USING_IF_EXISTS; 174*0fca6ea1SDimitry Andric using std::nearbyintl _LIBCPP_USING_IF_EXISTS; 1755f757f3fSDimitry Andric 176*0fca6ea1SDimitry Andric using std::rint _LIBCPP_USING_IF_EXISTS; 177*0fca6ea1SDimitry Andric using std::rintf _LIBCPP_USING_IF_EXISTS; 178*0fca6ea1SDimitry Andric using std::rintl _LIBCPP_USING_IF_EXISTS; 1795f757f3fSDimitry Andric 180*0fca6ea1SDimitry Andric using std::lrint _LIBCPP_USING_IF_EXISTS; 181*0fca6ea1SDimitry Andric using std::lrintf _LIBCPP_USING_IF_EXISTS; 182*0fca6ea1SDimitry Andric using std::lrintl _LIBCPP_USING_IF_EXISTS; 1835f757f3fSDimitry Andric 184*0fca6ea1SDimitry Andric using std::llrint _LIBCPP_USING_IF_EXISTS; 185*0fca6ea1SDimitry Andric using std::llrintf _LIBCPP_USING_IF_EXISTS; 186*0fca6ea1SDimitry Andric using std::llrintl _LIBCPP_USING_IF_EXISTS; 1875f757f3fSDimitry Andric 188*0fca6ea1SDimitry Andric using std::round _LIBCPP_USING_IF_EXISTS; 189*0fca6ea1SDimitry Andric using std::roundf _LIBCPP_USING_IF_EXISTS; 190*0fca6ea1SDimitry Andric using std::roundl _LIBCPP_USING_IF_EXISTS; 1915f757f3fSDimitry Andric 192*0fca6ea1SDimitry Andric using std::lround _LIBCPP_USING_IF_EXISTS; 193*0fca6ea1SDimitry Andric using std::lroundf _LIBCPP_USING_IF_EXISTS; 194*0fca6ea1SDimitry Andric using std::lroundl _LIBCPP_USING_IF_EXISTS; 1955f757f3fSDimitry Andric 196*0fca6ea1SDimitry Andric using std::llround _LIBCPP_USING_IF_EXISTS; 197*0fca6ea1SDimitry Andric using std::llroundf _LIBCPP_USING_IF_EXISTS; 198*0fca6ea1SDimitry Andric using std::llroundl _LIBCPP_USING_IF_EXISTS; 1995f757f3fSDimitry Andric 200*0fca6ea1SDimitry Andric using std::trunc _LIBCPP_USING_IF_EXISTS; 201*0fca6ea1SDimitry Andric using std::truncf _LIBCPP_USING_IF_EXISTS; 202*0fca6ea1SDimitry Andric using std::truncl _LIBCPP_USING_IF_EXISTS; 2035f757f3fSDimitry Andric 204*0fca6ea1SDimitry Andric using std::fmod _LIBCPP_USING_IF_EXISTS; 205*0fca6ea1SDimitry Andric using std::fmodf _LIBCPP_USING_IF_EXISTS; 206*0fca6ea1SDimitry Andric using std::fmodl _LIBCPP_USING_IF_EXISTS; 2075f757f3fSDimitry Andric 208*0fca6ea1SDimitry Andric using std::remainder _LIBCPP_USING_IF_EXISTS; 209*0fca6ea1SDimitry Andric using std::remainderf _LIBCPP_USING_IF_EXISTS; 210*0fca6ea1SDimitry Andric using std::remainderl _LIBCPP_USING_IF_EXISTS; 2115f757f3fSDimitry Andric 212*0fca6ea1SDimitry Andric using std::remquo _LIBCPP_USING_IF_EXISTS; 213*0fca6ea1SDimitry Andric using std::remquof _LIBCPP_USING_IF_EXISTS; 214*0fca6ea1SDimitry Andric using std::remquol _LIBCPP_USING_IF_EXISTS; 2155f757f3fSDimitry Andric 216*0fca6ea1SDimitry Andric using std::copysign _LIBCPP_USING_IF_EXISTS; 217*0fca6ea1SDimitry Andric using std::copysignf _LIBCPP_USING_IF_EXISTS; 218*0fca6ea1SDimitry Andric using std::copysignl _LIBCPP_USING_IF_EXISTS; 2195f757f3fSDimitry Andric 220*0fca6ea1SDimitry Andric using std::nan _LIBCPP_USING_IF_EXISTS; 221*0fca6ea1SDimitry Andric using std::nanf _LIBCPP_USING_IF_EXISTS; 222*0fca6ea1SDimitry Andric using std::nanl _LIBCPP_USING_IF_EXISTS; 2235f757f3fSDimitry Andric 224*0fca6ea1SDimitry Andric using std::nextafter _LIBCPP_USING_IF_EXISTS; 225*0fca6ea1SDimitry Andric using std::nextafterf _LIBCPP_USING_IF_EXISTS; 226*0fca6ea1SDimitry Andric using std::nextafterl _LIBCPP_USING_IF_EXISTS; 2275f757f3fSDimitry Andric 228*0fca6ea1SDimitry Andric using std::nexttoward _LIBCPP_USING_IF_EXISTS; 229*0fca6ea1SDimitry Andric using std::nexttowardf _LIBCPP_USING_IF_EXISTS; 230*0fca6ea1SDimitry Andric using std::nexttowardl _LIBCPP_USING_IF_EXISTS; 2315f757f3fSDimitry Andric 232*0fca6ea1SDimitry Andric using std::fdim _LIBCPP_USING_IF_EXISTS; 233*0fca6ea1SDimitry Andric using std::fdimf _LIBCPP_USING_IF_EXISTS; 234*0fca6ea1SDimitry Andric using std::fdiml _LIBCPP_USING_IF_EXISTS; 2355f757f3fSDimitry Andric 236*0fca6ea1SDimitry Andric using std::fmax _LIBCPP_USING_IF_EXISTS; 237*0fca6ea1SDimitry Andric using std::fmaxf _LIBCPP_USING_IF_EXISTS; 238*0fca6ea1SDimitry Andric using std::fmaxl _LIBCPP_USING_IF_EXISTS; 2395f757f3fSDimitry Andric 240*0fca6ea1SDimitry Andric using std::fmin _LIBCPP_USING_IF_EXISTS; 241*0fca6ea1SDimitry Andric using std::fminf _LIBCPP_USING_IF_EXISTS; 242*0fca6ea1SDimitry Andric using std::fminl _LIBCPP_USING_IF_EXISTS; 2435f757f3fSDimitry Andric 244*0fca6ea1SDimitry Andric using std::fma _LIBCPP_USING_IF_EXISTS; 245*0fca6ea1SDimitry Andric using std::fmaf _LIBCPP_USING_IF_EXISTS; 246*0fca6ea1SDimitry Andric using std::fmal _LIBCPP_USING_IF_EXISTS; 2475f757f3fSDimitry Andric 2485f757f3fSDimitry Andric // [c.math.lerp], linear interpolation 249*0fca6ea1SDimitry Andric using std::lerp _LIBCPP_USING_IF_EXISTS; 2505f757f3fSDimitry Andric 2515f757f3fSDimitry Andric // [c.math.fpclass], classification / comparison functions 252*0fca6ea1SDimitry Andric using std::fpclassify _LIBCPP_USING_IF_EXISTS; 253*0fca6ea1SDimitry Andric using std::isfinite _LIBCPP_USING_IF_EXISTS; 254*0fca6ea1SDimitry Andric using std::isgreater _LIBCPP_USING_IF_EXISTS; 255*0fca6ea1SDimitry Andric using std::isgreaterequal _LIBCPP_USING_IF_EXISTS; 256*0fca6ea1SDimitry Andric using std::isinf _LIBCPP_USING_IF_EXISTS; 257*0fca6ea1SDimitry Andric using std::isless _LIBCPP_USING_IF_EXISTS; 258*0fca6ea1SDimitry Andric using std::islessequal _LIBCPP_USING_IF_EXISTS; 259*0fca6ea1SDimitry Andric using std::islessgreater _LIBCPP_USING_IF_EXISTS; 260*0fca6ea1SDimitry Andric using std::isnan _LIBCPP_USING_IF_EXISTS; 261*0fca6ea1SDimitry Andric using std::isnormal _LIBCPP_USING_IF_EXISTS; 262*0fca6ea1SDimitry Andric using std::isunordered _LIBCPP_USING_IF_EXISTS; 263*0fca6ea1SDimitry Andric using std::signbit _LIBCPP_USING_IF_EXISTS; 2645f757f3fSDimitry Andric 2655f757f3fSDimitry Andric // [sf.cmath], mathematical special functions 2665f757f3fSDimitry Andric#if 0 2675f757f3fSDimitry Andric // [sf.cmath.assoc.laguerre], associated Laguerre polynomials 2685f757f3fSDimitry Andric using std::assoc_laguerre; 2695f757f3fSDimitry Andric using std::assoc_laguerref; 2705f757f3fSDimitry Andric using std::assoc_laguerrel; 2715f757f3fSDimitry Andric 2725f757f3fSDimitry Andric // [sf.cmath.assoc.legendre], associated Legendre functions 2735f757f3fSDimitry Andric using std::assoc_legendre; 2745f757f3fSDimitry Andric using std::assoc_legendref; 2755f757f3fSDimitry Andric using std::assoc_legendrel; 2765f757f3fSDimitry Andric 2775f757f3fSDimitry Andric // [sf.cmath.beta], beta function 2785f757f3fSDimitry Andric using std::beta; 2795f757f3fSDimitry Andric using std::betaf; 2805f757f3fSDimitry Andric using std::betal; 2815f757f3fSDimitry Andric 2825f757f3fSDimitry Andric // [sf.cmath.comp.ellint.1], complete elliptic integral of the first kind 2835f757f3fSDimitry Andric using std::comp_ellint_1; 2845f757f3fSDimitry Andric using std::comp_ellint_1f; 2855f757f3fSDimitry Andric using std::comp_ellint_1l; 2865f757f3fSDimitry Andric 2875f757f3fSDimitry Andric // [sf.cmath.comp.ellint.2], complete elliptic integral of the second kind 2885f757f3fSDimitry Andric using std::comp_ellint_2; 2895f757f3fSDimitry Andric using std::comp_ellint_2f; 2905f757f3fSDimitry Andric using std::comp_ellint_2l; 2915f757f3fSDimitry Andric 2925f757f3fSDimitry Andric // [sf.cmath.comp.ellint.3], complete elliptic integral of the third kind 2935f757f3fSDimitry Andric using std::comp_ellint_3; 2945f757f3fSDimitry Andric using std::comp_ellint_3f; 2955f757f3fSDimitry Andric using std::comp_ellint_3l; 2965f757f3fSDimitry Andric 2975f757f3fSDimitry Andric // [sf.cmath.cyl.bessel.i], regular modified cylindrical Bessel functions 2985f757f3fSDimitry Andric using std::cyl_bessel_i; 2995f757f3fSDimitry Andric using std::cyl_bessel_if; 3005f757f3fSDimitry Andric using std::cyl_bessel_il; 3015f757f3fSDimitry Andric 3025f757f3fSDimitry Andric // [sf.cmath.cyl.bessel.j], cylindrical Bessel functions of the first kind 3035f757f3fSDimitry Andric using std::cyl_bessel_j; 3045f757f3fSDimitry Andric using std::cyl_bessel_jf; 3055f757f3fSDimitry Andric using std::cyl_bessel_jl; 3065f757f3fSDimitry Andric 3075f757f3fSDimitry Andric // [sf.cmath.cyl.bessel.k], irregular modified cylindrical Bessel functions 3085f757f3fSDimitry Andric using std::cyl_bessel_k; 3095f757f3fSDimitry Andric using std::cyl_bessel_kf; 3105f757f3fSDimitry Andric using std::cyl_bessel_kl; 3115f757f3fSDimitry Andric 3125f757f3fSDimitry Andric // [sf.cmath.cyl.neumann], cylindrical Neumann functions 3135f757f3fSDimitry Andric // cylindrical Bessel functions of the second kind 3145f757f3fSDimitry Andric using std::cyl_neumann; 3155f757f3fSDimitry Andric using std::cyl_neumannf; 3165f757f3fSDimitry Andric using std::cyl_neumannl; 3175f757f3fSDimitry Andric 3185f757f3fSDimitry Andric // [sf.cmath.ellint.1], incomplete elliptic integral of the first kind 3195f757f3fSDimitry Andric using std::ellint_1; 3205f757f3fSDimitry Andric using std::ellint_1f; 3215f757f3fSDimitry Andric using std::ellint_1l; 3225f757f3fSDimitry Andric 3235f757f3fSDimitry Andric // [sf.cmath.ellint.2], incomplete elliptic integral of the second kind 3245f757f3fSDimitry Andric using std::ellint_2; 3255f757f3fSDimitry Andric using std::ellint_2f; 3265f757f3fSDimitry Andric using std::ellint_2l; 3275f757f3fSDimitry Andric 3285f757f3fSDimitry Andric // [sf.cmath.ellint.3], incomplete elliptic integral of the third kind 3295f757f3fSDimitry Andric using std::ellint_3; 3305f757f3fSDimitry Andric using std::ellint_3f; 3315f757f3fSDimitry Andric using std::ellint_3l; 3325f757f3fSDimitry Andric 3335f757f3fSDimitry Andric // [sf.cmath.expint], exponential integral 3345f757f3fSDimitry Andric using std::expint; 3355f757f3fSDimitry Andric using std::expintf; 3365f757f3fSDimitry Andric using std::expintl; 337*0fca6ea1SDimitry Andric#endif 3385f757f3fSDimitry Andric 3395f757f3fSDimitry Andric // [sf.cmath.hermite], Hermite polynomials 3405f757f3fSDimitry Andric using std::hermite; 3415f757f3fSDimitry Andric using std::hermitef; 3425f757f3fSDimitry Andric using std::hermitel; 3435f757f3fSDimitry Andric 344*0fca6ea1SDimitry Andric#if 0 3455f757f3fSDimitry Andric // [sf.cmath.laguerre], Laguerre polynomials 3465f757f3fSDimitry Andric using std::laguerre; 3475f757f3fSDimitry Andric using std::laguerref; 3485f757f3fSDimitry Andric using std::laguerrel; 3495f757f3fSDimitry Andric 3505f757f3fSDimitry Andric // [sf.cmath.legendre], Legendre polynomials 3515f757f3fSDimitry Andric using std::legendre; 3525f757f3fSDimitry Andric using std::legendref; 3535f757f3fSDimitry Andric using std::legendrel; 3545f757f3fSDimitry Andric 3555f757f3fSDimitry Andric // [sf.cmath.riemann.zeta], Riemann zeta function 3565f757f3fSDimitry Andric using std::riemann_zeta; 3575f757f3fSDimitry Andric using std::riemann_zetaf; 3585f757f3fSDimitry Andric using std::riemann_zetal; 3595f757f3fSDimitry Andric 3605f757f3fSDimitry Andric // [sf.cmath.sph.bessel], spherical Bessel functions of the first kind 3615f757f3fSDimitry Andric using std::sph_bessel; 3625f757f3fSDimitry Andric using std::sph_besself; 3635f757f3fSDimitry Andric using std::sph_bessell; 3645f757f3fSDimitry Andric 3655f757f3fSDimitry Andric // [sf.cmath.sph.legendre], spherical associated Legendre functions 3665f757f3fSDimitry Andric using std::sph_legendre; 3675f757f3fSDimitry Andric using std::sph_legendref; 3685f757f3fSDimitry Andric using std::sph_legendrel; 3695f757f3fSDimitry Andric 3705f757f3fSDimitry Andric // [sf.cmath.sph.neumann], spherical Neumann functions; 3715f757f3fSDimitry Andric // spherical Bessel functions of the second kind 3725f757f3fSDimitry Andric using std::sph_neumann; 3735f757f3fSDimitry Andric using std::sph_neumannf; 3745f757f3fSDimitry Andric using std::sph_neumannl; 3755f757f3fSDimitry Andric#endif 3765f757f3fSDimitry Andric} // namespace std 377