This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • For more information about the manual page format, see the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



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 location 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(+-_) 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 setting 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:1999(E).

                                                July 02, 2008

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...