add numerical recipes library
This commit is contained in:
19
lib/nr/cpp/recipes/gammln.cpp
Normal file
19
lib/nr/cpp/recipes/gammln.cpp
Normal file
@@ -0,0 +1,19 @@
|
||||
#include <cmath>
|
||||
#include "nr.h"
|
||||
using namespace std;
|
||||
|
||||
DP NR::gammln(const DP xx)
|
||||
{
|
||||
int j;
|
||||
DP x,y,tmp,ser;
|
||||
static const DP cof[6]={76.18009172947146,-86.50532032941677,
|
||||
24.01409824083091,-1.231739572450155,0.1208650973866179e-2,
|
||||
-0.5395239384953e-5};
|
||||
|
||||
y=x=xx;
|
||||
tmp=x+5.5;
|
||||
tmp -= (x+0.5)*log(tmp);
|
||||
ser=1.000000000190015;
|
||||
for (j=0;j<6;j++) ser += cof[j]/++y;
|
||||
return -tmp+log(2.5066282746310005*ser/x);
|
||||
}
|
||||
Reference in New Issue
Block a user