1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
.\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
.\" Distributed under GPL
.\" based on glibc infopages
.\" Traducción revisada por Miguel Pérez Ibars <mpi79470@alu.um.es> el 29-marzo-2005
.\"
.TH LGAMMA 3 "10 agosto 2002" "" "Manual del Programador de Linux"
.SH NOMBRE
lgamma \- logaritmo de la función gamma
.SH SINOPSIS
.nf
.B #include <math.h>
.sp
.BI "double lgamma(double " x );
.br
.BI "float lgammaf(float " x );
.br
.BI "long double lgammal(long double " x );
.sp
.BI "double lgamma_r(double " x ", int *" signp );
.br
.BI "float lgammaf_r(float " x ", int *" signp );
.br
.BI "long double lgammal_r(long double " x ", int *" signp );
.fi
.SH DESCRIPCIÓN
La función Gamma se define como
.sp
Gamma(x) = integral de 0 a infinito de t^(x-1) e^-t dt
.sp
Está definida para todo número real excepto enteros no positivos.
Para un entero no positivo \fIm\fP la función se define como
.sp
Gamma(m+1) = m!
.sp
y, de manera más general, para todo \fIx\fP:
.sp
Gamma(x+1) = x * Gamma(x)
.sp
Para \fIx\fP < 0.5 se puede utilizar
.sp
Gamma(x) * Gamma(1-x) = PI/sin(PI*x)
.PP
La función \fBlgamma()\fP devuelve el logaritmo natural del
valor absoluto de la función Gamma.
El signo de la función Gamma se devuelve en la variable
entera externo \fIsigngam\fP declarado en
.IR <math.h> .
Vale 1 cuando la función Gamma es positiva o cero, \-1
cuando es negativa.
.PP
Ya que usar una localización constante
.I signgam
no se considera hilo-seguro, se han introducido las funciones \fBlgamma_r()\fP etc.;
devuelven el signo en el parámetro
.IR signp .
.PP
Para valores enteros no positivos de \fIx\fP, \fBlgamma()\fP devuelve HUGE_VAL,
pone en \fIerrno\fP el valor ERANGE y lanza la excepción de división por cero.
(De manera similar, \fBlgammaf()\fP devuelve HUGE_VALF y \fBlgammal()\fP devuelve
HUGE_VALL.)
.SH ERRORES
Una aplicación que desee comprobar situaciones de error debería asignar a
.I errno
el valor cero y llamar a
.I feclearexcept(FE_ALL_EXCEPT)
antes de llamar a estas funciones. A la vuelta, si
.I errno
es distinto de cero o
.I fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW)
es distinto de cero, es que ha ocurrido un error.
.TP
.B ERANGE
Argumento no válido - valor entero no positivo de \fIx\fP.
.SH "CONFORME A"
C99, SVID 3, BSD 4.3
.SH "VÉASE TAMBIÉN"
.BR tgamma (3)
|