71 #include "nf_specialFunctions.h"
73 #if defined __cplusplus
82 static double big = 4.503599627370496e15;
83 static double biginv = 2.22044604925031308085e-16;
90 double ans, ax, c, yc, r, t, y,
z;
91 double pk, pkm1, pkm2, qk, qkm1, qkm2;
93 *status = nfu_badInput;
97 if( ( x <= 0 ) || ( a <= 0 ) )
return( 1.0 );
101 if( ax == 0. )
return( 0.0 );
118 pk = pkm1 * z - pkm2 * yc;
119 qk = qkm1 * z - qkm2 * yc;
122 t = fabs( ( ans - r ) / r );
131 if( fabs( pk ) > big ) {
164 double ans, ax, c, r;
166 *status = nfu_badInput;
170 if( ( x <= 0 ) || ( a <= 0 ) )
return( 0.0 );
174 if( ax == 0. )
return( 0.0 );
185 return( ans * ax / a );
188 #if defined __cplusplus
double nf_incompleteGammaFunctionComplementary(double a, double x, nfu_status *status)
double nf_gammaFunction(double x, nfu_status *status)
double nf_incompleteGammaFunction(double a, double x, nfu_status *status)
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
const G4double x[NPOINTSGL]