tgamma, tgammaf, tgammal
Determines the gamma function of the specified value.
Syntax
double tgamma(
double x
);
float tgammaf(
float x
);
long double tgammal(
long double x
);
#define tgamma(X) // Requires C11 or higher
float tgamma(
float x
); //C++ only
long double tgamma(
long double x
); //C++ only
Parameters
x
The value to find the gamma of.
Return Value
If successful, returns the gamma of x.
A range error may occur if the magnitude of x is too large or too small for the data type. A domain error or range error may occur if x <= 0.
| Issue | Return |
|---|---|
| x = ±0 | ±INFINITY |
| x = negative integer | NaN |
| x = -INFINITY | NaN |
| x = +INFINITY | +INFINITY |
| x = NaN | NaN |
| domain error | NaN |
| pole error | ±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL |
| overflow range error | ±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL |
| underflow range error | the correct value, after rounding. |
Errors are reported as specified in _matherr.
Remarks
Because C++ allows overloading, you can call overloads of tgamma that take and return float and long double types. In a C program, unless you're using the <tgmath.h> macro to call this function, tgamma always takes and returns a double.
If you use the <tgmath.h> tgamma() macro, the type of the argument determines which version of the function is selected. See Type-generic math for details.
If x is a natural number, this function returns the factorial of (x-1).
By default, this function's global state is scoped to the application. To change this, see Global state in the CRT.
Requirements
| Function | C header | C++ header |
|---|---|---|
| tgamma, tgammaf, tgammal | <math.h> | <cmath> |
| tgamma macro | <tgmath.h> |
For additional compatibility information, see Compatibility.
See also
Maklum balas
Kirim dan lihat maklum balas untuk