Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ gamma(3m) — Atari System V ue12

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exp(3M)

matherr(3M)

values(5)





   gamma(3M)                    (Math Libraries)                     gamma(3M)


   NAME
         gamma, lgamma - log gamma function

   SYNOPSIS
         cc [flag ...] file ...  -lm [library ...]

         #include <math.h>

         double gamma (double x);

         double lgamma (double x);

         extern int signgam;

   DESCRIPTION
         gamma and lgamma return

               ln(|Γ~(x)|)

         where Γ~(x) is defined as
               oo
               ∫ e-ttx-1dt
               0
         The sign of Γ~(x) is returned in the external integer signgam.  The
         argument x may not be a non-positive integer.

         The following C program fragment might be used to calculate Γ~:

               if ((y = gamma(x)) > LNMAXDOUBLE)
                     error();
               y = signgam * exp(y);

         where LNMAXDOUBLE is the least value that causes exp to return a
         range error, and is defined in the values.h header file.

   SEE ALSO
         exp(3M), matherr(3M), values(5).

   DIAGNOSTICS
         For non-positive integer arguments HUGE is returned and errno is set
         to EDOM.  A message indicating SING error is printed on the standard
         error output.

         If the correct value would overflow, gamma and lgamma return HUGE and
         set errno to ERANGE.

         Except when the -Xc compilation option is used, these error-handling
         procedures may be changed with the function matherr.  When the -Xa or
         -Xc compilation options are used, HUGEVAL is returned instead of
         HUGE and no error messages are printed.



   7/91                                                                 Page 1





Typewritten Software • bear@typewritten.org • Edmonds, WA 98026