cpp/numeric/math/tgamma

@1-3@ Computes the of. @A@ Additional overloads are provided for all integer types, which are treated as.

Return value
If no errors occur, the value of the gamma function of, that is , is returned.

If a domain error occurs, an implementation-defined value (NaN where supported) is returned.

If a pole error occurs, huge_val,, or is returned.

If a range error due to overflow occurs, huge_val,, or is returned.

If a range error due to underflow occurs, the correct value (after rounding) is returned.

Error handling
Errors are reported as specified in math_errhandling.

If is zero or is an integer less than zero, a pole error or a domain error may occur.

If the implementation supports IEEE floating-point arithmetic (IEC 60559),
 * If the argument is ±0, ±∞ is returned and fe_divbyzero is raised
 * If the argument is a negative integer, NaN is returned and fe_invalid is raised
 * If the argument is -∞, NaN is returned and fe_invalid is raised
 * If the argument is +∞, +∞ is returned
 * If the argument is NaN, NaN is returned