數學特殊函數 (C++17 起)
出自 cppreference.com
數學特殊函數程式庫最初是 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) |
伴隨拉蓋爾多項式 (associated Laguerre polynomials) (函式) |
| (C++17)(C++17)(C++17) |
伴隨勒讓德多項式 (associated Legendre polynomials) (函式) |
| (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) |
柱諾伊曼函式 (cylindrical Neumann functions) (函式) |
| (C++17)(C++17)(C++17) |
(不完全)第一類橢圓積分 (函式) |
| (C++17)(C++17)(C++17) |
(不完全)第二類橢圓積分 (函式) |
| (C++17)(C++17)(C++17) |
(不完全)第三類橢圓積分 (函式) |
| (C++17)(C++17)(C++17) |
指數積分 (exponential integral) (函數) |
| (C++17)(C++17)(C++17) |
勒讓德多項式 (Hermite polynomials) (函式) |
| (C++17)(C++17)(C++17) |
勒讓德多項式 (Legendre polynomials) (函式) |
| (C++17)(C++17)(C++17) |
拉蓋爾多項式 (Laguerre polynomials) (函式) |
| (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 問題 3234)。MSVC STL 直到 VS 2022 17.3 版本才提供這些多載。
這些函數與類別類型的 特殊成員函數 無關。
| 功能測試巨集 | 數值 | 標準 | 功能 |
|---|---|---|---|
__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]