2 //===----------------------------------------------------------------------===//
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
8 //===----------------------------------------------------------------------===//
10 export namespace std {
12 using std::double_t _LIBCPP_USING_IF_EXISTS;
13 using std::float_t _LIBCPP_USING_IF_EXISTS;
15 using std::acos _LIBCPP_USING_IF_EXISTS;
16 using std::acosf _LIBCPP_USING_IF_EXISTS;
17 using std::acosl _LIBCPP_USING_IF_EXISTS;
19 using std::asin _LIBCPP_USING_IF_EXISTS;
20 using std::asinf _LIBCPP_USING_IF_EXISTS;
21 using std::asinl _LIBCPP_USING_IF_EXISTS;
23 using std::atan _LIBCPP_USING_IF_EXISTS;
24 using std::atanf _LIBCPP_USING_IF_EXISTS;
25 using std::atanl _LIBCPP_USING_IF_EXISTS;
27 using std::atan2 _LIBCPP_USING_IF_EXISTS;
28 using std::atan2f _LIBCPP_USING_IF_EXISTS;
29 using std::atan2l _LIBCPP_USING_IF_EXISTS;
31 using std::cos _LIBCPP_USING_IF_EXISTS;
32 using std::cosf _LIBCPP_USING_IF_EXISTS;
33 using std::cosl _LIBCPP_USING_IF_EXISTS;
35 using std::sin _LIBCPP_USING_IF_EXISTS;
36 using std::sinf _LIBCPP_USING_IF_EXISTS;
37 using std::sinl _LIBCPP_USING_IF_EXISTS;
39 using std::tan _LIBCPP_USING_IF_EXISTS;
40 using std::tanf _LIBCPP_USING_IF_EXISTS;
41 using std::tanl _LIBCPP_USING_IF_EXISTS;
43 using std::acosh _LIBCPP_USING_IF_EXISTS;
44 using std::acoshf _LIBCPP_USING_IF_EXISTS;
45 using std::acoshl _LIBCPP_USING_IF_EXISTS;
47 using std::asinh _LIBCPP_USING_IF_EXISTS;
48 using std::asinhf _LIBCPP_USING_IF_EXISTS;
49 using std::asinhl _LIBCPP_USING_IF_EXISTS;
51 using std::atanh _LIBCPP_USING_IF_EXISTS;
52 using std::atanhf _LIBCPP_USING_IF_EXISTS;
53 using std::atanhl _LIBCPP_USING_IF_EXISTS;
55 using std::cosh _LIBCPP_USING_IF_EXISTS;
56 using std::coshf _LIBCPP_USING_IF_EXISTS;
57 using std::coshl _LIBCPP_USING_IF_EXISTS;
59 using std::sinh _LIBCPP_USING_IF_EXISTS;
60 using std::sinhf _LIBCPP_USING_IF_EXISTS;
61 using std::sinhl _LIBCPP_USING_IF_EXISTS;
63 using std::tanh _LIBCPP_USING_IF_EXISTS;
64 using std::tanhf _LIBCPP_USING_IF_EXISTS;
65 using std::tanhl _LIBCPP_USING_IF_EXISTS;
67 using std::exp _LIBCPP_USING_IF_EXISTS;
68 using std::expf _LIBCPP_USING_IF_EXISTS;
69 using std::expl _LIBCPP_USING_IF_EXISTS;
71 using std::exp2 _LIBCPP_USING_IF_EXISTS;
72 using std::exp2f _LIBCPP_USING_IF_EXISTS;
73 using std::exp2l _LIBCPP_USING_IF_EXISTS;
75 using std::expm1 _LIBCPP_USING_IF_EXISTS;
76 using std::expm1f _LIBCPP_USING_IF_EXISTS;
77 using std::expm1l _LIBCPP_USING_IF_EXISTS;
79 using std::frexp _LIBCPP_USING_IF_EXISTS;
80 using std::frexpf _LIBCPP_USING_IF_EXISTS;
81 using std::frexpl _LIBCPP_USING_IF_EXISTS;
83 using std::ilogb _LIBCPP_USING_IF_EXISTS;
84 using std::ilogbf _LIBCPP_USING_IF_EXISTS;
85 using std::ilogbl _LIBCPP_USING_IF_EXISTS;
87 using std::ldexp _LIBCPP_USING_IF_EXISTS;
88 using std::ldexpf _LIBCPP_USING_IF_EXISTS;
89 using std::ldexpl _LIBCPP_USING_IF_EXISTS;
91 using std::log _LIBCPP_USING_IF_EXISTS;
92 using std::logf _LIBCPP_USING_IF_EXISTS;
93 using std::logl _LIBCPP_USING_IF_EXISTS;
95 using std::log10 _LIBCPP_USING_IF_EXISTS;
96 using std::log10f _LIBCPP_USING_IF_EXISTS;
97 using std::log10l _LIBCPP_USING_IF_EXISTS;
99 using std::log1p _LIBCPP_USING_IF_EXISTS;
100 using std::log1pf _LIBCPP_USING_IF_EXISTS;
101 using std::log1pl _LIBCPP_USING_IF_EXISTS;
103 using std::log2 _LIBCPP_USING_IF_EXISTS;
104 using std::log2f _LIBCPP_USING_IF_EXISTS;
105 using std::log2l _LIBCPP_USING_IF_EXISTS;
107 using std::logb _LIBCPP_USING_IF_EXISTS;
108 using std::logbf _LIBCPP_USING_IF_EXISTS;
109 using std::logbl _LIBCPP_USING_IF_EXISTS;
111 using std::modf _LIBCPP_USING_IF_EXISTS;
112 using std::modff _LIBCPP_USING_IF_EXISTS;
113 using std::modfl _LIBCPP_USING_IF_EXISTS;
115 using std::scalbn _LIBCPP_USING_IF_EXISTS;
116 using std::scalbnf _LIBCPP_USING_IF_EXISTS;
117 using std::scalbnl _LIBCPP_USING_IF_EXISTS;
119 using std::scalbln _LIBCPP_USING_IF_EXISTS;
120 using std::scalblnf _LIBCPP_USING_IF_EXISTS;
121 using std::scalblnl _LIBCPP_USING_IF_EXISTS;
123 using std::cbrt _LIBCPP_USING_IF_EXISTS;
124 using std::cbrtf _LIBCPP_USING_IF_EXISTS;
125 using std::cbrtl _LIBCPP_USING_IF_EXISTS;
127 // [c.math.abs], absolute values
128 using std::abs _LIBCPP_USING_IF_EXISTS;
130 using std::fabs _LIBCPP_USING_IF_EXISTS;
131 using std::fabsf _LIBCPP_USING_IF_EXISTS;
132 using std::fabsl _LIBCPP_USING_IF_EXISTS;
134 using std::hypot _LIBCPP_USING_IF_EXISTS;
135 using std::hypotf _LIBCPP_USING_IF_EXISTS;
136 using std::hypotl _LIBCPP_USING_IF_EXISTS;
138 // [c.math.hypot3], three-dimensional hypotenuse
140 using std::pow _LIBCPP_USING_IF_EXISTS;
141 using std::powf _LIBCPP_USING_IF_EXISTS;
142 using std::powl _LIBCPP_USING_IF_EXISTS;
144 using std::sqrt _LIBCPP_USING_IF_EXISTS;
145 using std::sqrtf _LIBCPP_USING_IF_EXISTS;
146 using std::sqrtl _LIBCPP_USING_IF_EXISTS;
148 using std::erf _LIBCPP_USING_IF_EXISTS;
149 using std::erff _LIBCPP_USING_IF_EXISTS;
150 using std::erfl _LIBCPP_USING_IF_EXISTS;
152 using std::erfc _LIBCPP_USING_IF_EXISTS;
153 using std::erfcf _LIBCPP_USING_IF_EXISTS;
154 using std::erfcl _LIBCPP_USING_IF_EXISTS;
156 using std::lgamma _LIBCPP_USING_IF_EXISTS;
157 using std::lgammaf _LIBCPP_USING_IF_EXISTS;
158 using std::lgammal _LIBCPP_USING_IF_EXISTS;
160 using std::tgamma _LIBCPP_USING_IF_EXISTS;
161 using std::tgammaf _LIBCPP_USING_IF_EXISTS;
162 using std::tgammal _LIBCPP_USING_IF_EXISTS;
164 using std::ceil _LIBCPP_USING_IF_EXISTS;
165 using std::ceilf _LIBCPP_USING_IF_EXISTS;
166 using std::ceill _LIBCPP_USING_IF_EXISTS;
168 using std::floor _LIBCPP_USING_IF_EXISTS;
169 using std::floorf _LIBCPP_USING_IF_EXISTS;
170 using std::floorl _LIBCPP_USING_IF_EXISTS;
172 using std::nearbyint _LIBCPP_USING_IF_EXISTS;
173 using std::nearbyintf _LIBCPP_USING_IF_EXISTS;
174 using std::nearbyintl _LIBCPP_USING_IF_EXISTS;
176 using std::rint _LIBCPP_USING_IF_EXISTS;
177 using std::rintf _LIBCPP_USING_IF_EXISTS;
178 using std::rintl _LIBCPP_USING_IF_EXISTS;
180 using std::lrint _LIBCPP_USING_IF_EXISTS;
181 using std::lrintf _LIBCPP_USING_IF_EXISTS;
182 using std::lrintl _LIBCPP_USING_IF_EXISTS;
184 using std::llrint _LIBCPP_USING_IF_EXISTS;
185 using std::llrintf _LIBCPP_USING_IF_EXISTS;
186 using std::llrintl _LIBCPP_USING_IF_EXISTS;
188 using std::round _LIBCPP_USING_IF_EXISTS;
189 using std::roundf _LIBCPP_USING_IF_EXISTS;
190 using std::roundl _LIBCPP_USING_IF_EXISTS;
192 using std::lround _LIBCPP_USING_IF_EXISTS;
193 using std::lroundf _LIBCPP_USING_IF_EXISTS;
194 using std::lroundl _LIBCPP_USING_IF_EXISTS;
196 using std::llround _LIBCPP_USING_IF_EXISTS;
197 using std::llroundf _LIBCPP_USING_IF_EXISTS;
198 using std::llroundl _LIBCPP_USING_IF_EXISTS;
200 using std::trunc _LIBCPP_USING_IF_EXISTS;
201 using std::truncf _LIBCPP_USING_IF_EXISTS;
202 using std::truncl _LIBCPP_USING_IF_EXISTS;
204 using std::fmod _LIBCPP_USING_IF_EXISTS;
205 using std::fmodf _LIBCPP_USING_IF_EXISTS;
206 using std::fmodl _LIBCPP_USING_IF_EXISTS;
208 using std::remainder _LIBCPP_USING_IF_EXISTS;
209 using std::remainderf _LIBCPP_USING_IF_EXISTS;
210 using std::remainderl _LIBCPP_USING_IF_EXISTS;
212 using std::remquo _LIBCPP_USING_IF_EXISTS;
213 using std::remquof _LIBCPP_USING_IF_EXISTS;
214 using std::remquol _LIBCPP_USING_IF_EXISTS;
216 using std::copysign _LIBCPP_USING_IF_EXISTS;
217 using std::copysignf _LIBCPP_USING_IF_EXISTS;
218 using std::copysignl _LIBCPP_USING_IF_EXISTS;
220 using std::nan _LIBCPP_USING_IF_EXISTS;
221 using std::nanf _LIBCPP_USING_IF_EXISTS;
222 using std::nanl _LIBCPP_USING_IF_EXISTS;
224 using std::nextafter _LIBCPP_USING_IF_EXISTS;
225 using std::nextafterf _LIBCPP_USING_IF_EXISTS;
226 using std::nextafterl _LIBCPP_USING_IF_EXISTS;
228 using std::nexttoward _LIBCPP_USING_IF_EXISTS;
229 using std::nexttowardf _LIBCPP_USING_IF_EXISTS;
230 using std::nexttowardl _LIBCPP_USING_IF_EXISTS;
232 using std::fdim _LIBCPP_USING_IF_EXISTS;
233 using std::fdimf _LIBCPP_USING_IF_EXISTS;
234 using std::fdiml _LIBCPP_USING_IF_EXISTS;
236 using std::fmax _LIBCPP_USING_IF_EXISTS;
237 using std::fmaxf _LIBCPP_USING_IF_EXISTS;
238 using std::fmaxl _LIBCPP_USING_IF_EXISTS;
240 using std::fmin _LIBCPP_USING_IF_EXISTS;
241 using std::fminf _LIBCPP_USING_IF_EXISTS;
242 using std::fminl _LIBCPP_USING_IF_EXISTS;
244 using std::fma _LIBCPP_USING_IF_EXISTS;
245 using std::fmaf _LIBCPP_USING_IF_EXISTS;
246 using std::fmal _LIBCPP_USING_IF_EXISTS;
248 // [c.math.lerp], linear interpolation
249 using std::lerp _LIBCPP_USING_IF_EXISTS;
251 // [c.math.fpclass], classification / comparison functions
252 using std::fpclassify _LIBCPP_USING_IF_EXISTS;
253 using std::isfinite _LIBCPP_USING_IF_EXISTS;
254 using std::isgreater _LIBCPP_USING_IF_EXISTS;
255 using std::isgreaterequal _LIBCPP_USING_IF_EXISTS;
256 using std::isinf _LIBCPP_USING_IF_EXISTS;
257 using std::isless _LIBCPP_USING_IF_EXISTS;
258 using std::islessequal _LIBCPP_USING_IF_EXISTS;
259 using std::islessgreater _LIBCPP_USING_IF_EXISTS;
260 using std::isnan _LIBCPP_USING_IF_EXISTS;
261 using std::isnormal _LIBCPP_USING_IF_EXISTS;
262 using std::isunordered _LIBCPP_USING_IF_EXISTS;
263 using std::signbit _LIBCPP_USING_IF_EXISTS;
265 // [sf.cmath], mathematical special functions
267 // [sf.cmath.assoc.laguerre], associated Laguerre polynomials
268 using std::assoc_laguerre;
269 using std::assoc_laguerref;
270 using std::assoc_laguerrel;
272 // [sf.cmath.assoc.legendre], associated Legendre functions
273 using std::assoc_legendre;
274 using std::assoc_legendref;
275 using std::assoc_legendrel;
277 // [sf.cmath.beta], beta function
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;
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;
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;
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;
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;
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;
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;
318 // [sf.cmath.ellint.1], incomplete elliptic integral of the first kind
320 using std::ellint_1f;
321 using std::ellint_1l;
323 // [sf.cmath.ellint.2], incomplete elliptic integral of the second kind
325 using std::ellint_2f;
326 using std::ellint_2l;
328 // [sf.cmath.ellint.3], incomplete elliptic integral of the third kind
330 using std::ellint_3f;
331 using std::ellint_3l;
333 // [sf.cmath.expint], exponential integral
339 // [sf.cmath.hermite], Hermite polynomials
345 // [sf.cmath.laguerre], Laguerre polynomials
347 using std::laguerref;
348 using std::laguerrel;
350 // [sf.cmath.legendre], Legendre polynomials
352 using std::legendref;
353 using std::legendrel;
355 // [sf.cmath.riemann.zeta], Riemann zeta function
356 using std::riemann_zeta;
357 using std::riemann_zetaf;
358 using std::riemann_zetal;
360 // [sf.cmath.sph.bessel], spherical Bessel functions of the first kind
361 using std::sph_bessel;
362 using std::sph_besself;
363 using std::sph_bessell;
365 // [sf.cmath.sph.legendre], spherical associated Legendre functions
366 using std::sph_legendre;
367 using std::sph_legendref;
368 using std::sph_legendrel;
370 // [sf.cmath.sph.neumann], spherical Neumann functions;
371 // spherical Bessel functions of the second kind
372 using std::sph_neumann;
373 using std::sph_neumannf;
374 using std::sph_neumannl;