gamma(3M) gamma(3M)
NAME
gamma, lgamma - Logarithmus der Gammafunktion
SYNTAX
cc [option ...] datei ... -lm [bibliothek ...]
#include <math.h>
double gamma(double x);
double lgamma(double x);
extern int signgam;
BESCHREIBUNG
gamma() und lgamma() berechnen loge(|gamma(x)|).
gamma(x) ist definiert als (vgl. Referenzhandbuch für Programmierer)
int from 0 to inf e sup { - t } t sup { x - 1 } dt
Das Vorzeichnen von gamma(x) wird in der externen Ganzzahl signgam
zurückgegeben. Das Argument x muß eine positive ganze Zahl sein.
Das folgende C-Programm kann zur Berechnung von gamma verwendet wer-
den:
if ((y = gamma(x)) > LNMAXDOUBLE)
error();
y = signgam * exp(y);
LNMAXDOUBLE ist hierbei der niedrigste Wert, der dazu führt, daß exp
einen Bereichsfehler zurückgibt. Dieser Wert ist in der Include-Datei
values.h definiert.
ERGEBNIS
Für nicht-positive Ganzzahlargumente wird HUGEVAL zurückgegeben, und
errno wird auf EDOM gesetzt. Auf der Standard-Fehlerausgabe wird eine
Meldung ausgegeben, die den Fehler SING anzeigt. Wenn NaN übergeben
wird, dann wird NaN zurückgegeben und errno auf EDOM gesetzt.
Wenn der korrekte Wert zu einem Überlauf führen würde, geben gamma()
und lgamma() HUGEVAL zurück und setzen errno auf ERANGE.
SIEHE AUCH
isnan(3C), exp(3M), matherr(3M), math(5), values(5).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98