Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ gamma(3M) — Motorola System V 88k Release 4 Version 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exp(3M)

matherr(3M)

values(5)

gamma(3M)  —  MATHEMATICAL LIBRARY

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

∞∫0e−ttx−1dt

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)) > LN_MAXDOUBLE)
error();
y = signgam ∗ exp(y);

where LN_MAXDOUBLE 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, HUGE_VAL is returned instead of HUGE and no error messages are printed. 

  —  Math Libraries

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