数学特殊函数 (C++17 起)
来自 cppreference.cn
数学特殊函数库最初是 TR1 ISO/IEC TR 19768:2007 库的一部分,之后作为独立的 ISO 标准 ISO/IEC 29124:2010 发布,并最终于 C++17 合并到 ISO C++。
有关 ISO/IEC 29124:2010 版本的此库,请参阅数学特殊函数。
目录 |
[编辑] 函数
定义于头文件
<cmath> | |
(C++17)(C++17)(C++17) |
伴随拉盖尔多项式 (函数) |
(C++17)(C++17)(C++17) |
伴随勒让德多项式 (函数) |
(C++17)(C++17)(C++17) |
Beta 函数 (函数) |
(C++17)(C++17)(C++17) |
(完全)第一类椭圆积分 (函数) |
(C++17)(C++17)(C++17) |
(完全)第二类椭圆积分 (函数) |
(C++17)(C++17)(C++17) |
(完全)第三类椭圆积分 (函数) |
(C++17)(C++17)(C++17) |
正则修正柱贝塞尔函数 (函数) |
(C++17)(C++17)(C++17) |
柱贝塞尔函数(第一类) (函数) |
(C++17)(C++17)(C++17) |
非正则修正柱贝塞尔函数 (函数) |
(C++17)(C++17)(C++17) |
柱诺依曼函数 (函数) |
(C++17)(C++17)(C++17) |
(不完全)第一类椭圆积分 (函数) |
(C++17)(C++17)(C++17) |
(不完全)第二类椭圆积分 (函数) |
(C++17)(C++17)(C++17) |
(不完全)第三类椭圆积分 (函数) |
(C++17)(C++17)(C++17) |
指数积分 (函数) |
(C++17)(C++17)(C++17) |
埃尔米特多项式 (函数) |
(C++17)(C++17)(C++17) |
勒让德多项式 (函数) |
(C++17)(C++17)(C++17) |
拉盖尔多项式 (函数) |
(C++17)(C++17)(C++17) |
黎曼zeta函数 (函数) |
(C++17)(C++17)(C++17) |
球贝塞尔函数(第一类) (函数) |
(C++17)(C++17)(C++17) |
球伴随勒让德函数 (函数) |
(C++17)(C++17)(C++17) |
球诺依曼函数 (函数) |
[编辑] 注意
ISO/IEC 29124:2010 最终草案 (N3060) 中存在不带“f
”或“l
”后缀的数学特殊函数的 float 和 long double 重载,但发布的 C++17/20 标准中没有(参见 LWG issue 3234)。这些重载直到 VS 2022 17.3 才由 MSVC STL 提供。
这些函数与类类型的特殊成员函数无关。
特性测试宏 | 值 | 标准 | 特性 |
---|---|---|---|
__cpp_lib_math_special_functions |
201603L |
(C++17) | 数学特殊函数 |
[编辑] 缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 发布时的行为 | 正确的行为 |
---|---|---|---|
LWG 3234 (P1467R9) |
C++17 | 缺少数学特殊函数的额外重载 | 这些重载是必需的 |
[编辑] 参考
- C++23 标准 (ISO/IEC 14882:2024)
- 28.7.6 数学特殊函数 [sf.cmath]
- C++20 标准 (ISO/IEC 14882:2020)
- 26.8.6 数学特殊函数 [sf.cmath]
- C++17 标准 (ISO/IEC 14882:2017)
- 29.9.5 数学特殊函数 [sf.cmath]