确定指定值的伽玛函数绝对值的自然对数。
语法
double lgamma( double x );
float lgammaf( float x );
long double lgammal( long double x );
#define lgammal(X) // Requires C11 or later
float lgamma( float x ); //C++ only
long double lgamma( long double x ); //C++ only
参数
x
要计算的值。
返回值
如果成功,则返回 x 的伽玛函数绝对值的自然对数。
| 问题 | 返回值 |
|---|---|
x = NaN |
NaN |
x = ±0 |
+INFINITY |
x= 负整数 |
+INFINITY |
| ±INFINITY | +INFINITY |
| 极点错误 | +HUGE_VAL、+HUGE_VALF 或 +HUGE_VALL |
| 溢出范围错误 | ±HUGE_VAL、±HUGE_VALF 或 ±HUGE_VALL |
按 _matherr 中所指定的内容报告错误。
备注
由于 C++ 支持重载,您可以调用采用并返回 lgamma 和 float 类型的 long double 的重载。 在 C 程序中,除非使用 <tgmath.h> 宏调用此函数,否则 lgamma 始终采用并返回 double。
如果使用 <tgmath.h>lgamma() 宏,则参数的类型将决定选择哪个版本的函数。 有关详细信息,请参阅泛型类型数学。
如果 x 是有理数,则此函数返回 (x - 1) 的阶乘的对数。
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
要求
| 函数 | C 标头 | C++ 标头 |
|---|---|---|
| .- . | <math.h> | <cmath> |
lgamma 宏 |
<tgmath.h> |
有关兼容性的详细信息,请参阅 兼容性。
另请参阅
按字母顺序显示的函数参考
.- .