Namespaces
Variants

Mathematical special functions (since C++17)

From cppreference.net

数学特殊関数ライブラリは、元々 Library TR1 ISO/IEC TR 19768:2007 の一部であり、その後独立した ISO 規格 ISO/IEC 29124:2010 として公開され、最終的に C++17 で ISO C++ に統合されました。

ISO/IEC 29124:2010 バージョンのこのライブラリについては、 Mathematical special functions を参照してください。

目次

関数

ヘッダーで定義 <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)
球面ベッセル関数(第一種)
(関数)
球面陪ルジャンドル関数
(関数)
球面ノイマン関数
(関数)

注記

float および long double の数学特殊関数に対するオーバーロード(" f " または " l " サフィックスなし)は、ISO/IEC 29124:2010の最終草案( N3060 )に存在しますが、公開されているC++17/20標準には含まれていません( LWG issue 3234 を参照)。これらのオーバーロードは、MSVC STLではVS 2022 17.3まで提供されていませんでした。

これらの関数は、クラス型の special member functions とは関連していません。

機能テスト マクロ 標準 機能
__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]