數學特殊函式 (C++17 起)
來自 cppreference.com
數學特殊函式庫最初是 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]