Real ExponentialJump1dMesher::jumpSizeDensity(Real x, Time t) const {
     const Real a    = 1.0-jumpIntensity_/beta_;
     const Real norm = 1.0-std::exp(-jumpIntensity_*t);
     const Real gammaValue 
         = std::exp(GammaFunction().logValue(1.0-jumpIntensity_/beta_));
     return jumpIntensity_*gammaValue/norm
                 *( incompleteGammaFunction(a, x*std::exp(beta_*t)*eta_)
                   -incompleteGammaFunction(a, x*eta_))
                 *std::pow(eta_, jumpIntensity_/beta_)
                 /(beta_*std::pow(x, a));
 }
	double Gamma2Distribution::cumulative(const double x) {
		if(x<=0.0) return 0.0;
		double p=incompleteGammaFunction(a_,x/b_);//*exp(-gammaLn(a_));
		//FILE *out=fopen("incomplgamma.log","a");
		//fprintf(out,"%f;%f\n",x,p);
		//fclose(out);
		return p;
	}
Example #3
0
double
ChiSquareRV::getCDFvalue(double rvValue)
{
	double result;
	if ( 0.0 < rvValue ) {
		result = incompleteGammaFunction(0.5*nu,0.5*rvValue);
	}
	else {
		result = 0.0;
	}
	return result;
}
Example #4
0
double
GammaRV::getCDFvalue(double rvValue)
{
	double result;
	if ( 0.0 < rvValue ) {
		result = incompleteGammaFunction(k,(lambda*rvValue));
	}
	else {
		result = 0.0;
	}
	
	return result;
}
Example #5
0
 Real operator()(BigNatural k) const {
     return 1.0 - incompleteGammaFunction(k+1, mu_);
 }