Bump version to 19.1.0 (final)
[llvm-project.git] / libcxx / modules / std / cmath.inc
blobfe8ac773c9d1c7509b4f2167c7d9824a9e99e9db
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 //===----------------------------------------------------------------------===//
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
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;
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
278   using std::beta;
279   using std::betaf;
280   using std::betal;
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
319   using std::ellint_1;
320   using std::ellint_1f;
321   using std::ellint_1l;
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;
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;
333   // [sf.cmath.expint], exponential integral
334   using std::expint;
335   using std::expintf;
336   using std::expintl;
337 #endif
339   // [sf.cmath.hermite], Hermite polynomials
340   using std::hermite;
341   using std::hermitef;
342   using std::hermitel;
344 #if 0
345   // [sf.cmath.laguerre], Laguerre polynomials
346   using std::laguerre;
347   using std::laguerref;
348   using std::laguerrel;
350   // [sf.cmath.legendre], Legendre polynomials
351   using std::legendre;
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;
375 #endif
376 } // namespace std