1// -*- C++ -*- 2//===----------------------------------------------------------------------===// 3// 4// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5// See https://llvm.org/LICENSE.txt for license information. 6// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7// 8//===----------------------------------------------------------------------===// 9 10export namespace std { 11 12 using std::double_t; 13 using std::float_t; 14 15 using std::acos; 16 using std::acosf; 17 using std::acosl; 18 19 using std::asin; 20 using std::asinf; 21 using std::asinl; 22 23 using std::atan; 24 using std::atanf; 25 using std::atanl; 26 27 using std::atan2; 28 using std::atan2f; 29 using std::atan2l; 30 31 using std::cos; 32 using std::cosf; 33 using std::cosl; 34 35 using std::sin; 36 using std::sinf; 37 using std::sinl; 38 39 using std::tan; 40 using std::tanf; 41 using std::tanl; 42 43 using std::acosh; 44 using std::acoshf; 45 using std::acoshl; 46 47 using std::asinh; 48 using std::asinhf; 49 using std::asinhl; 50 51 using std::atanh; 52 using std::atanhf; 53 using std::atanhl; 54 55 using std::cosh; 56 using std::coshf; 57 using std::coshl; 58 59 using std::sinh; 60 using std::sinhf; 61 using std::sinhl; 62 63 using std::tanh; 64 using std::tanhf; 65 using std::tanhl; 66 67 using std::exp; 68 using std::expf; 69 using std::expl; 70 71 using std::exp2; 72 using std::exp2f; 73 using std::exp2l; 74 75 using std::expm1; 76 using std::expm1f; 77 using std::expm1l; 78 79 using std::frexp; 80 using std::frexpf; 81 using std::frexpl; 82 83 using std::ilogb; 84 using std::ilogbf; 85 using std::ilogbl; 86 87 using std::ldexp; 88 using std::ldexpf; 89 using std::ldexpl; 90 91 using std::log; 92 using std::logf; 93 using std::logl; 94 95 using std::log10; 96 using std::log10f; 97 using std::log10l; 98 99 using std::log1p; 100 using std::log1pf; 101 using std::log1pl; 102 103 using std::log2; 104 using std::log2f; 105 using std::log2l; 106 107 using std::logb; 108 using std::logbf; 109 using std::logbl; 110 111 using std::modf; 112 using std::modff; 113 using std::modfl; 114 115 using std::scalbn; 116 using std::scalbnf; 117 using std::scalbnl; 118 119 using std::scalbln; 120 using std::scalblnf; 121 using std::scalblnl; 122 123 using std::cbrt; 124 using std::cbrtf; 125 using std::cbrtl; 126 127 // [c.math.abs], absolute values 128 using std::abs; 129 130 using std::fabs; 131 using std::fabsf; 132 using std::fabsl; 133 134 using std::hypot; 135 using std::hypotf; 136 using std::hypotl; 137 138 // [c.math.hypot3], three-dimensional hypotenuse 139 140 using std::pow; 141 using std::powf; 142 using std::powl; 143 144 using std::sqrt; 145 using std::sqrtf; 146 using std::sqrtl; 147 148 using std::erf; 149 using std::erff; 150 using std::erfl; 151 152 using std::erfc; 153 using std::erfcf; 154 using std::erfcl; 155 156 using std::lgamma; 157 using std::lgammaf; 158 using std::lgammal; 159 160 using std::tgamma; 161 using std::tgammaf; 162 using std::tgammal; 163 164 using std::ceil; 165 using std::ceilf; 166 using std::ceill; 167 168 using std::floor; 169 using std::floorf; 170 using std::floorl; 171 172 using std::nearbyint; 173 using std::nearbyintf; 174 using std::nearbyintl; 175 176 using std::rint; 177 using std::rintf; 178 using std::rintl; 179 180 using std::lrint; 181 using std::lrintf; 182 using std::lrintl; 183 184 using std::llrint; 185 using std::llrintf; 186 using std::llrintl; 187 188 using std::round; 189 using std::roundf; 190 using std::roundl; 191 192 using std::lround; 193 using std::lroundf; 194 using std::lroundl; 195 196 using std::llround; 197 using std::llroundf; 198 using std::llroundl; 199 200 using std::trunc; 201 using std::truncf; 202 using std::truncl; 203 204 using std::fmod; 205 using std::fmodf; 206 using std::fmodl; 207 208 using std::remainder; 209 using std::remainderf; 210 using std::remainderl; 211 212 using std::remquo; 213 using std::remquof; 214 using std::remquol; 215 216 using std::copysign; 217 using std::copysignf; 218 using std::copysignl; 219 220 using std::nan; 221 using std::nanf; 222 using std::nanl; 223 224 using std::nextafter; 225 using std::nextafterf; 226 using std::nextafterl; 227 228 using std::nexttoward; 229 using std::nexttowardf; 230 using std::nexttowardl; 231 232 using std::fdim; 233 using std::fdimf; 234 using std::fdiml; 235 236 using std::fmax; 237 using std::fmaxf; 238 using std::fmaxl; 239 240 using std::fmin; 241 using std::fminf; 242 using std::fminl; 243 244 using std::fma; 245 using std::fmaf; 246 using std::fmal; 247 248 // [c.math.lerp], linear interpolation 249 using std::lerp; 250 251 // [c.math.fpclass], classification / comparison functions 252 using std::fpclassify; 253 using std::isfinite; 254 using std::isgreater; 255 using std::isgreaterequal; 256 using std::isinf; 257 using std::isless; 258 using std::islessequal; 259 using std::islessgreater; 260 using std::isnan; 261 using std::isnormal; 262 using std::isunordered; 263 using std::signbit; 264 265 // [sf.cmath], mathematical special functions 266#if 0 267 // [sf.cmath.assoc.laguerre], associated Laguerre polynomials 268 using std::assoc_laguerre; 269 using std::assoc_laguerref; 270 using std::assoc_laguerrel; 271 272 // [sf.cmath.assoc.legendre], associated Legendre functions 273 using std::assoc_legendre; 274 using std::assoc_legendref; 275 using std::assoc_legendrel; 276 277 // [sf.cmath.beta], beta function 278 using std::beta; 279 using std::betaf; 280 using std::betal; 281 282 // [sf.cmath.comp.ellint.1], complete elliptic integral of the first kind 283 using std::comp_ellint_1; 284 using std::comp_ellint_1f; 285 using std::comp_ellint_1l; 286 287 // [sf.cmath.comp.ellint.2], complete elliptic integral of the second kind 288 using std::comp_ellint_2; 289 using std::comp_ellint_2f; 290 using std::comp_ellint_2l; 291 292 // [sf.cmath.comp.ellint.3], complete elliptic integral of the third kind 293 using std::comp_ellint_3; 294 using std::comp_ellint_3f; 295 using std::comp_ellint_3l; 296 297 // [sf.cmath.cyl.bessel.i], regular modified cylindrical Bessel functions 298 using std::cyl_bessel_i; 299 using std::cyl_bessel_if; 300 using std::cyl_bessel_il; 301 302 // [sf.cmath.cyl.bessel.j], cylindrical Bessel functions of the first kind 303 using std::cyl_bessel_j; 304 using std::cyl_bessel_jf; 305 using std::cyl_bessel_jl; 306 307 // [sf.cmath.cyl.bessel.k], irregular modified cylindrical Bessel functions 308 using std::cyl_bessel_k; 309 using std::cyl_bessel_kf; 310 using std::cyl_bessel_kl; 311 312 // [sf.cmath.cyl.neumann], cylindrical Neumann functions 313 // cylindrical Bessel functions of the second kind 314 using std::cyl_neumann; 315 using std::cyl_neumannf; 316 using std::cyl_neumannl; 317 318 // [sf.cmath.ellint.1], incomplete elliptic integral of the first kind 319 using std::ellint_1; 320 using std::ellint_1f; 321 using std::ellint_1l; 322 323 // [sf.cmath.ellint.2], incomplete elliptic integral of the second kind 324 using std::ellint_2; 325 using std::ellint_2f; 326 using std::ellint_2l; 327 328 // [sf.cmath.ellint.3], incomplete elliptic integral of the third kind 329 using std::ellint_3; 330 using std::ellint_3f; 331 using std::ellint_3l; 332 333 // [sf.cmath.expint], exponential integral 334 using std::expint; 335 using std::expintf; 336 using std::expintl; 337 338 // [sf.cmath.hermite], Hermite polynomials 339 using std::hermite; 340 using std::hermitef; 341 using std::hermitel; 342 343 // [sf.cmath.laguerre], Laguerre polynomials 344 using std::laguerre; 345 using std::laguerref; 346 using std::laguerrel; 347 348 // [sf.cmath.legendre], Legendre polynomials 349 using std::legendre; 350 using std::legendref; 351 using std::legendrel; 352 353 // [sf.cmath.riemann.zeta], Riemann zeta function 354 using std::riemann_zeta; 355 using std::riemann_zetaf; 356 using std::riemann_zetal; 357 358 // [sf.cmath.sph.bessel], spherical Bessel functions of the first kind 359 using std::sph_bessel; 360 using std::sph_besself; 361 using std::sph_bessell; 362 363 // [sf.cmath.sph.legendre], spherical associated Legendre functions 364 using std::sph_legendre; 365 using std::sph_legendref; 366 using std::sph_legendrel; 367 368 // [sf.cmath.sph.neumann], spherical Neumann functions; 369 // spherical Bessel functions of the second kind 370 using std::sph_neumann; 371 using std::sph_neumannf; 372 using std::sph_neumannl; 373#endif 374} // namespace std 375