LGAMMA(3)                 OpenBSD Programmer's Manual                LGAMMA(3)

NAME
     lgamma, lgammaf - log gamma functions

SYNOPSIS
     #include <math.h>

     extern int signgam;

     double
     lgamma(double x);

     float
     lgammaf(float x);

DESCRIPTION                _
     lgamma(x) returns ln|| (x)|.
                                                       _
     The external integer signgam returns the sign of | (x).  The lgammaf()
     function is a single precision version of lgamma().

IDIOSYNCRASIES                                                           _
     Do not use the expression `signgam*exp(lgamma(x))' to compute g := | (x).
     Instead use a program like this (in C):

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

     Only after lgamma() has returned can signgam be correct.

RETURN VALUES
     lgamma() returns appropriate values unless an argument is out of range.
     Overflow will occur for sufficiently large positive values, and non-posi-
     tive integers.  On the VAX, the reserved operator is returned, and errno
     is set to ERANGE.

SEE ALSO
     infnan(3), math(3)

HISTORY
     The lgamma() function appeared in 4.3BSD.

OpenBSD 3.5                    December 3, 1992                              1
