lgamma
, , lgammaf
lgammal
Определяет натуральный логарифм абсолютного значения гамма-функции для указанного значения.
Синтаксис
double lgamma( double x );
float lgammaf( float x );
long double lgammal( long double x );
#define lgammal(X) // Requires C11 or higher
float lgamma( float x ); //C++ only
long double lgamma( long double x ); //C++ only
Параметры
x
Вычисляемое значение.
Возвращаемое значение
При успешном выполнении возвращает естественный логарифм абсолютного значения гамма-функции x
.
Проблема | Возврат |
---|---|
x = не число |
Не число |
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.
Требования
Function | Заголовок C | Заголовок C++ |
---|---|---|
lgamma , , lgammaf lgammal |
<math.h> | <cmath> |
lgamma Макрос |
<tgmath.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.