uc-sdk
Main Page
Related Pages
Modules
Classes
Files
File List
File Members
All
Classes
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
w_lgamma.c
Go to the documentation of this file.
1
2
/* @(#)w_lgamma.c 1.3 95/01/18 */
3
/*
4
* ====================================================
5
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6
*
7
* Developed at SunSoft, a Sun Microsystems, Inc. business.
8
* Permission to use, copy, modify, and distribute this
9
* software is freely granted, provided that this notice
10
* is preserved.
11
* ====================================================
12
*
13
*/
14
15
/* double lgamma(double x)
16
* Return the logarithm of the Gamma function of x.
17
*
18
* Method: call __ieee754_lgamma_r
19
*/
20
21
#include "
fdlibm.h
"
22
23
extern
int
signgam
;
24
25
#ifdef __STDC__
26
double
lgamma
(
double
x)
27
#else
28
double
lgamma
(x)
29
double x;
30
#endif
31
{
32
#ifdef _IEEE_LIBM
33
return
__ieee754_lgamma_r
(x,&
signgam
);
34
#else
35
double
y;
36
y =
__ieee754_lgamma_r
(x,&
signgam
);
37
if
(
_LIB_VERSION
==
_IEEE_
)
return
y;
38
if
(!
finite
(y)&&
finite
(x)) {
39
if
(
floor
(x)==x&&x<=0.0)
40
return
__kernel_standard
(x,x,15);
/* lgamma pole */
41
else
42
return
__kernel_standard
(x,x,14);
/* lgamma overflow */
43
}
else
44
return
y;
45
#endif
46
}
libm
src
w_lgamma.c
Generated on Fri Nov 15 2013 05:00:19 for uc-sdk by
1.8.4