/* incomplete gamma function P(a,x) Joel Heinrich 28 September 2004 */ #include #include #include #if DBL_MANT_DIG <= 53 #define XCUT 20 #else #error "appropriate XCUT value unknown for this precision" #endif #include "bayesianlimit.h" double incompletegamma(double a,double x) { assert(x>=0); assert(a>=0); if(a==0) { assert( !(a==0&&x==0) ); return 1; } else if (x==0) { return 0; } else if (x DBL_EPSILON*s || den DBL_EPSILON*s ) s -= (p*=(++num)*rx); return s; } }