CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Functions
GammaLn.cc File Reference
#include "CommonTools/Statistics/src/GammaLn.h"
#include <cmath>

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 5 of file GammaLn.cc.

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

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

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