LGAMMA(3)

명칭
lgamma, lgammaf, gamma, gammaf - 감마 함수 및 감마 함수의 대수 계산

프로그램 라이브러리
libm

서식
#include <math.h> extern int signgam;

double lgamma(double x) float lgammaf(float x) double gamma(double x) float gammaf(float x)

해설
lgamma(x) 및 lgammaf(x) (은)는 x 의 감마 함수의 자연대수를 돌려줍니다.

외부 변수 signgam 에는 x 의 감마 함수의 부호가 돌려주어집니다.

gamma(x) 및 gammaf(x) 그럼 signgam (은)는 사용되지 않습니다.

특기 사항
g := Γ(x)의 계산에 대해 “signam*exp(lgamma(x))” (와)과 같은 기술은 부적절합니다. 이하와 같은 (C 언어) 프로그램 코딩으로 합니다.

    lg = lgamma(x); g = signam*exp(lg);

signgam 는, lgamma() 혹은 lgammaf() 의 처리가 완료한 단계가 아니면 올바른 값을 얻을 수 없습니다.

인수의 치역에 대해서는, gamma() 및 gammaf() 의 것이 우선됩니다. 정가격인하수의 경우는 모든 계산 요소까지 정확하게 계산됩니다. lgamma() 의 베키 지수의 유효 사이즈는 2 의 10 승까지입니다.

반환값
gamma(), gammaf(), lgamma(), 및 lgammaf() (은)는 인수의 값이 적정한 범위이면 올바른 결과를 돌려줍니다. 제한을 넘은 큰 자리수의 정정수치나 부부호의 정수치를 지정하면(자) 자리수 넘침 에러가 됩니다. VAX 그럼, 예약어(reserved word)의 오퍼레이터가 돌려주어 부의 큰 비정수치에 관해서는 gamma() 함수로 안다후로에라가 발생해, errno 에 ERANGE 하지만 세트 됩니다.

관련 항목
math(3)

역사
lgamma 하 4.3BSD 에 실장된 함수입니다. gamma 하 4.4BSD 에 실장된 함수입니다. gamma() 의 명칭은 함수명 lgamma() 앞으로 되어 있습니다만, 낡은 코드의 부분에서는 호환성이 없어지고 있는 경우도 있습니다.