manpagez: man pages & more
man lgamma(3)
Home | html | info | man
tgamma(3)                BSD Library Functions Manual                tgamma(3)


NAME

     tgamma, lgamma, gamma -- gamma and log of gamma


SYNOPSIS

     #include <math.h>

     double
     tgamma(double x);

     long double
     tgammal(long double x);

     float
     tgammaf(float x);

     double
     lgamma_r(double x, int *psigngam);

     long double
     lgammal_r(long double x, int *psigngam);

     float
     lgammaf_r(float x, int *psigngam);

     double
     lgamma(double x);

     long double
     lgammal(long double x);

     float
     lgammaf(float x);


DESCRIPTION

     tgamma() calculates the gamma function of x.  lgamma() calculates the
     natural logorithm of the absolute value of the gamma function of x.
     gamma() is the same function as tgamma. Its use is deprecated.

     lgamma_r() is a thread-safe alternative to lgamma().  Instead of setting
     the global variable signgam, it stores the sign of Gamma(x) in the loca-
     tion pointed to by its second argument.  In order to use the lgamma_r()
     function, define the macro _REENTRANT before including <math.h>.


SPECIAL VALUES

     tgamma(+-0) returns +-infinity and raises the "divide-by-zero" floating-
     point exception.

     tgamma(x) returns a NaN and raises the "invalid" floating-point exception
     if x is a negative integer.

     tgamma(-infinity) returns a NaN and raises the "invalid" floating-point
     exception.

     tgamma(+infinity) returns +infinity.

     tgamma(x) generates a domain error if x is a negative integer or if the
     result cannnot be respresented when x is 0.

     A range error may occur if the magnitude of x is too large or too small.

     lgamma(1) returns +0.

     lgamma(2) returns +0.

     lgamma(x) returns +infinity and raises the "divide-by-zero" floating-
     point exception if x is a negative integer or 0.

     lgamma(+-infinity) returns +infinity.

     lgamma(x) generates a range error if x is too large.

     A range error may occur if x is a negative integer or 0.


NOTE

     lgamma(x) and its variants have the (non-threadsafe) side-effect of set-
     ting the global variable signgam to +-1, equal to the sign of tgamma(x).
     lgamma_r(x, psigngam) instead sets the user-allocated integer pointed to
     by the psigngam argument.

     gamma() and gamma_r() are deprecated, and should not be used.  The
     tgamma() function should be used instead.  Note, however, that on some
     platforms, gamma() and gamma_r() historically computed the log of the
     Gamma function, instead of the Gamma function itself.  When porting code
     from such platforms, it will be necessary to use lgamma() or lgamma_r()
     instead.


SEE ALSO

     math(3)


STANDARDS

     The tgamma() , and lgamma() functions conform to ISO/IEC 9899:2011.

                                 July 02, 2008

Mac OS X 10.9.1 - Generated Thu Jan 9 07:27:30 CST 2014
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.