Common mathematical functions | |||||||||||||||||||||||||||||||
Mathematical special functions(C++17) | |||||||||||||||||||||||||||||||
Mathematical constants(C++20) | |||||||||||||||||||||||||||||||
Basic linear algebra algorithms(C++26) | |||||||||||||||||||||||||||||||
Data-parallel types (SIMD)(C++26) | |||||||||||||||||||||||||||||||
Floating-point environment(C++11) | |||||||||||||||||||||||||||||||
Complex numbers | |||||||||||||||||||||||||||||||
Numeric array (valarray ) | |||||||||||||||||||||||||||||||
Pseudo-random number generation | |||||||||||||||||||||||||||||||
Bit manipulation(C++20) | |||||||||||||||||||||||||||||||
Saturation arithmetic(C++26) | |||||||||||||||||||||||||||||||
Factor operations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
Interpolations | |||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||
Generic numeric operations | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
C-style checked integer arithmetic | |||||||||||||||||||||||||||||||
|
The Mathematical Special Functions library was originally part of Library TR1 ISO/IEC TR 19768:2007, then published as an independent ISO standard, ISO/IEC 29124:2010, and finally merged to ISO C++ as of C++17.
SeeMathematical special functions for the ISO/IEC 29124:2010 version of this library.
Contents |
Defined in header <cmath> | |
(C++17)(C++17)(C++17) | associated Laguerre polynomials (function)[edit] |
(C++17)(C++17)(C++17) | associated Legendre polynomials (function)[edit] |
(C++17)(C++17)(C++17) | beta function (function)[edit] |
(C++17)(C++17)(C++17) | (complete) elliptic integral of the first kind (function)[edit] |
(C++17)(C++17)(C++17) | (complete) elliptic integral of the second kind (function)[edit] |
(C++17)(C++17)(C++17) | (complete) elliptic integral of the third kind (function)[edit] |
(C++17)(C++17)(C++17) | regular modified cylindrical Bessel functions (function)[edit] |
(C++17)(C++17)(C++17) | cylindrical Bessel functions (of the first kind) (function)[edit] |
(C++17)(C++17)(C++17) | irregular modified cylindrical Bessel functions (function)[edit] |
(C++17)(C++17)(C++17) | cylindrical Neumann functions (function)[edit] |
(C++17)(C++17)(C++17) | (incomplete) elliptic integral of the first kind (function)[edit] |
(C++17)(C++17)(C++17) | (incomplete) elliptic integral of the second kind (function)[edit] |
(C++17)(C++17)(C++17) | (incomplete) elliptic integral of the third kind (function)[edit] |
(C++17)(C++17)(C++17) | exponential integral (function)[edit] |
(C++17)(C++17)(C++17) | Hermite polynomials (function)[edit] |
(C++17)(C++17)(C++17) | Legendre polynomials (function)[edit] |
(C++17)(C++17)(C++17) | Laguerre polynomials (function)[edit] |
(C++17)(C++17)(C++17) | Riemann zeta function (function)[edit] |
(C++17)(C++17)(C++17) | spherical Bessel functions (of the first kind) (function)[edit] |
(C++17)(C++17)(C++17) | spherical associated Legendre functions (function)[edit] |
(C++17)(C++17)(C++17) | spherical Neumann functions (function)[edit] |
Thefloat andlongdouble overloads for math special functions without the "f
" or "l
" suffix are present in the final draft of ISO/IEC 29124:2010 (N3060), but absent in the published C++17/20 standard (seeLWG issue 3234). These overloads were not provided by MSVC STL until VS 2022 17.3.
These functions are unrelated tospecial member functions of class types.
Feature-test macro | Value | Std | Feature |
---|---|---|---|
__cpp_lib_math_special_functions | 201603L | (C++17) | Mathematical special functions |
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
DR | Applied to | Behavior as published | Correct behavior |
---|---|---|---|
LWG 3234 (P1467R9) | C++17 | additional overloads for math special functions were missing | these overloads are required |