CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Functions
GammaLn.h File Reference

Go to the source code of this file.

Functions

float GammaLn (float z)
 

Function Documentation

float GammaLn ( float  z)

Returns the value ln( gamma(z) ) for z > 0

Definition at line 4 of file GammaLn.cc.

References log, groupFilesInBlocks::temp, detailsBasic3DVector::y, and detailsBasic3DVector::z.

Referenced by IncompleteGammaComplement::ln(), and IncompleteGammaComplement::value().

4  {
5  const static double coefficients[6] = {76.18009172947146,
6  -86.50532032941677,
7  24.01409824083091,
8  -1.231739572450155,
9  0.1208650973866179e-2,
10  -0.5395239384953e-5};
11 
12  double temp = z + 5.5;
13  temp -= (z + 0.5) * log(temp);
14  double y = z;
15  double series = 1.000000000190015;
16  for (int term = 0; term < 6; term++)
17  series += coefficients[term] / ++y;
18  return -temp + log(2.5066282746310005 * series / z);
19 }
static std::vector< std::string > checklist log
float float float z