数学特殊函数

来自cppreference.com
< cpp‎ | numeric
 
 
 
 

数学特殊函数库原是库 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)
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)
拉盖尔多项式
(函数)
黎曼 zeta 函数
(函数)
(第一类)球面贝塞尔函数
(函数)
球面连带勒让德函数
(函数)
球面诺依曼函数
(函数)

注解

不带 "f" 或 "l" 后缀的数学特殊函数的 floatdouble 重载在 ISO/IEC 29124:2010 的最终草案(N3060)中存在,但在出版的 C++17/20 标准中缺失(见 LWG 问题 3234)。MSVC STL 在 VS 2022 17.3 前未提供这些重载。

这些函数与类类型的特殊成员函数无关。

功能特性测试 标准 备注
__cpp_lib_math_special_functions 201603L (C++17) Mathematical special functions

缺陷报告

下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。

缺陷报告 应用于 出版时的行为 正确行为
LWG 3234
(P1467R9)
C++17 数学特殊函数的额外重载缺失 要求有这些重载

引用

  • C++23 标准(ISO/IEC 14882:2023):
  • 28.7.6 Mathematical special functions [sf.cmath]
  • C++20 标准(ISO/IEC 14882:2020):
  • 26.8.6 Mathematical special functions [sf.cmath]
  • C++17 标准(ISO/IEC 14882:2017):
  • 29.9.5 Mathematical special functions [sf.cmath]