数学特殊函数 (自 C++17)
来自 cppreference.cn
数学特殊函数库最初是 Library 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) |
贝塔函数 (函数) |
(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) |
球诺伊曼函数 (函数) |
[编辑] 注释
对于没有 "f
" 或 "l
" 后缀的数学特殊函数,float 和 long double 重载存在于 ISO/IEC 29124:2010 的最终草案 (N3060) 中,但在已发布的 C++17/20 标准中不存在(参见 LWG issue 3234)。MSVC STL 直到 VS 2022 17.3 才提供这些重载。
这些函数与类类型的特殊成员函数无关。
特性测试宏 | 值 | Std | 特性 |
---|---|---|---|
__cpp_lib_math_special_functions |
201603L |
(C++17) | 数学特殊函数 |
[编辑] 缺陷报告
以下行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 已发布行为 | 正确行为 |
---|---|---|---|
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]