22 #if !defined(ISOSPEC_G_FACT_TABLE_SIZE)
26 #define ISOSPEC_G_FACT_TABLE_SIZE 1024*1024*10
32 extern double* g_lfact_table;
34 static inline double minuslogFactorial(
int n)
38 if (g_lfact_table[n] == 0.0)
39 g_lfact_table[n] = -lgamma(n+1);
41 return g_lfact_table[n];
44 const double pi = 3.14159265358979323846264338328;
45 const double log2pluslogpi = log(2.0) + log(pi);
47 double NormalCDFInverse(
double p);
48 double NormalCDFInverse(
double p,
double mean,
double stdev);
49 double NormalCDF(
double x,
double mean,
double stdev);
50 double NormalPDF(
double x,
double mean = 0.0,
double stdev = 1.0);
53 double LowerIncompleteGamma2(
int a,
double x);
56 double InverseLowerIncompleteGamma2(
int a,
double x);
59 inline double InverseChiSquareCDF2(
int k,
double x)
61 return InverseLowerIncompleteGamma2(k, x*tgamma(
static_cast<double>(k)/2.0)) * 2.0;