Manpage of GAMMA

Google
Web www.fiveanddime.net

GAMMA

Section: NEWLIB (3)
Updated: 2005 Feb 23
Index Return to Main Contents
 

NAME

1.17 `gamma', `gammaf', `lgamma', `lgammaf', `gamma_r',

 

SYNOPSIS


     #include <math.h>
     double gamma(double X);
     float gammaf(float X);
     double lgamma(double X);
     float lgammaf(float X);
     double gamma_r(double X, int *SIGNGAMP);
     float gammaf_r(float X, int *SIGNGAMP);
     double lgamma_r(double X, int *SIGNGAMP);
     float lgammaf_r(float X, int *SIGNGAMP);  

DESCRIPTION

`gamma' calculates the natural logarithm of the gamma function of X. The gamma function (`exp(gamma(X))') is a generalization of factorial, and retains the property that `exp(gamma(N))' is equivalent to `N*exp(gamma(N-1))'. Accordingly, the results of the gamma function itself grow very quickly. `gamma' is defined as the natural log of the gamma function, rather than the gamma function itself, to extend the useful range of results representable.


   The sign of the result is returned in the global variable `signgam', which is declared in math.h.


   `gammaf' performs the same calculation as `gamma', but uses and returns `float' values.


   `lgamma' and `lgammaf' are alternate names for `gamma' and `gammaf'. The use of `lgamma' instead of `gamma' is a reminder that these functions compute the log of the gamma function, rather than the gamma function itself.


   The functions `gamma_r', `gammaf_r', `lgamma_r', and `lgammaf_r' are just like `gamma', `gammaf', `lgamma', and `lgammaf', respectively, but take an additional argument. This additional argument is a pointer to an integer. This additional argument is used to return the sign of the result, and the global variable `signgam' is not used. These functions may be used for reentrant calls (but they will still set the global variable `errno' if an error occurs).

 

RETURNS

Normally, the computed result is returned.


   When X is a nonpositive integer, `gamma' returns `HUGE_VAL' and `errno' is set to `EDOM'. If the result overflows, `gamma' returns `HUGE_VAL' and `errno' is set to `ERANGE'.


   You can modify this error treatment using `matherr'.

 

PORTABILITY

Neither `gamma' nor `gammaf' is ANSI C.  

SEE ALSO

gamma is part of the libm library. The full documentation for libm is maintained as a Texinfo manual. If info and libm are properly installed at your site, the command
info libm

will give you access to the complete manual.


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURNS
PORTABILITY
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 21:25:24 GMT, May 16, 2005



www.fiveanddime.net








Google
Web www.fiveanddime.net