数学特殊関数 (C++17以降)
From 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) |
ラゲール陪多項式 (関数) |
| (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) |
(第一種)球ベッセル関数 (関数) |
| (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 まで提供されていませんでした。
これらの関数は、クラス型の特殊メンバ関数とは無関係です。
| 機能テストマクロ | 値 | 規格 | 機能 |
|---|---|---|---|
__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 standard (ISO/IEC 14882:2020)
- 26.8.6 数学特殊関数 [sf.cmath]
- C++17 standard (ISO/IEC 14882:2017)
- 29.9.5 数学特殊関数 [sf.cmath]