26 static double kBig = 4.503599627370496e15;
27 static double kBiginv = 2.22044604925031308085e-16;
30 static double LS2PI = 0.91893853320467274178;
55 double pk, pkm1, pkm2, qk, qkm1, qkm2;
59 if (a <= 0)
return 0.0;
61 if (x <= 0)
return 1.0;
63 if( (x < 1.0) || (x < a) )
64 return( 1.0 -
igam(a,x) );
88 pk = pkm1 * z - pkm2 * yc;
89 qk = qkm1 * z - qkm2 * yc;
129 double ans, ax,
c,
r;
133 if (a <= 0)
return 1.0;
135 if (x <= 0)
return 0.0;
137 if( (x > 1.0) && (x > a ) )
138 return( 1.0 -
igamc(a,x) );
160 return( ans * ax/a );
170 static double A[] = {
171 8.11614167470508450300E-4,
172 -5.95061904284301438324E-4,
173 7.93650340457716943945E-4,
174 -2.77777777730099687205E-3,
175 8.33333333333331927722E-2
178 static double B[] = {
179 -1.37825152569120859100E3,
180 -3.88016315134637840924E4,
181 -3.31612992738871184744E5,
182 -1.16237097492762307383E6,
183 -1.72173700820839662146E6,
184 -8.53555664245765465627E5
187 static double C[] = {
189 -3.51815701436523470549E2,
190 -1.70642106651881159223E4,
191 -2.20528590553854454839E5,
192 -1.13933444367982507207E6,
193 -2.53252307177582951285E6,
194 -2.01889141433532773231E6
199 double p,
q, u,
w,
z;
276 q += (( 7.9365079365079365079365e-4 * p
277 - 2.7777777777777777777778e-3) *p
278 + 0.0833333333333333333333) /
x;
285 static double P[] = {
286 1.60119522476751861407E-4,
287 1.19135147006586384913E-3,
288 1.04213797561761569935E-2,
289 4.76367800457137231464E-2,
290 2.07448227648435975150E-1,
291 4.94214826801497100753E-1,
292 9.99999999999999996796E-1
294 static double Q[] = {
295 -2.31581873324120129819E-5,
296 5.39605580493303397842E-4,
297 -4.45641913851797240494E-3,
298 1.18139785222060435552E-2,
299 3.58236398605498653373E-2,
300 -2.34591795718243348568E-1,
301 7.14304917030273074085E-2,
302 1.00000000000000000320E0
307 7.87311395793093628397E-4,
308 -2.29549961613378126380E-4,
309 -2.68132617805781232825E-3,
310 3.47222221605458667310E-3,
311 8.33333333333482257126E-2,
314 #define SQTPI std::sqrt(2*ROOT::Math::Pi())
328 v =
pow( x, 0.5 * x - 0.25 );
333 y =
pow( x, x - 0.5 ) /
y;
381 return( sgngam * z );
419 return( z/((1.0 + 0.5772156649015329 * x) * x) );
484 double incbet(
double aa,
double bb,
double xx )
486 double a, b,
t,
x, xc,
w,
y;
489 if( aa <= 0.0 || bb <= 0.0 )
493 if (xx <= 0.0)
return( 0.0 );
494 if ( xx >= 1.0)
return( 1.0 );
510 if( xx > (aa/(aa+bb)) )
526 if( flag == 1 && (b * x) <= 1.0 && x <= 0.95)
533 y = x * (a+b-2.0) - (a-1.0);
537 w =
incbd( a, b, x ) / xc;
583 double xk, pk, pkm1, pkm2, qk, qkm1, qkm2;
584 double k1, k2, k3, k4, k5, k6, k7, k8;
585 double r,
t,
ans, thresh;
608 xk = -( x * k1 * k2 )/( k3 * k4 );
609 pk = pkm1 + pkm2 * xk;
610 qk = qkm1 + qkm2 * xk;
616 xk = ( x * k5 * k6 )/( k7 * k8 );
617 pk = pkm1 + pkm2 * xk;
618 qk = qkm1 + qkm2 * xk;
676 double xk, pk, pkm1, pkm2, qk, qkm1, qkm2;
677 double k1, k2, k3, k4, k5, k6, k7, k8;
678 double r,
t,
ans,
z, thresh;
702 xk = -( z * k1 * k2 )/( k3 * k4 );
703 pk = pkm1 + pkm2 * xk;
704 qk = qkm1 + qkm2 * xk;
710 xk = ( z * k5 * k6 )/( k7 * k8 );
711 pk = pkm1 + pkm2 * xk;
712 qk = qkm1 + qkm2 * xk;
768 double s,
t, u,
v,
n,
t1,
z, ai;
793 s = s * t *
pow(x,a);
814 2.46196981473530512524E-10,
815 5.64189564831068821977E-1,
816 7.46321056442269912687E0,
817 4.86371970985681366614E1,
818 1.96520832956077098242E2,
819 5.26445194995477358631E2,
820 9.34528527171957607540E2,
821 1.02755188689515710272E3,
822 5.57535335369399327526E2
826 1.32281951154744992508E1,
827 8.67072140885989742329E1,
828 3.54937778887819891062E2,
829 9.75708501743205489753E2,
830 1.82390916687909736289E3,
831 2.24633760818710981792E3,
832 1.65666309194161350182E3,
833 5.57535340817727675546E2
836 5.64189583547755073984E-1,
837 1.27536670759978104416E0,
838 5.01905042251180477414E0,
839 6.16021097993053585195E0,
840 7.40974269950448939160E0,
841 2.97886665372100240670E0
845 2.26052863220117276590E0,
846 9.39603524938001434673E0,
847 1.20489539808096656605E1,
848 1.70814450747565897222E1,
849 9.60896809063285878198E0,
850 3.36907645100081516050E0
853 9.60497373987051638749E0,
854 9.00260197203842689217E1,
855 2.23200534594684319226E3,
856 7.00332514112805075473E3,
857 5.55923013010394962768E4
861 3.35617141647503099647E1,
862 5.21357949780152679795E2,
863 4.59432382970980127987E3,
864 2.26290000613890934246E4,
865 4.92673942608635921086E4
953 if (N==0)
return a[0];
957 for (
unsigned int i=1; i <=
N; i++)
969 if (N==0)
return a[0];
972 double pom = x + a[0];
973 for (
unsigned int i=1; i <
N; i++)
double pseries(double a, double b, double x)
XYZVector ans(TestRotation const &t, XYZVector const &v_in)
double igam(double a, double x)
static double stirf(double x)
double pow(double, double)
static Vc_ALWAYS_INLINE Vector< T > abs(const Vector< T > &x)
double Polynomial1eval(double x, double *a, unsigned int N)
double incbd(double a, double b, double x)
double Polynomialeval(double x, double *a, unsigned int N)
double Pi()
Mathematical constants.
double incbet(double aa, double bb, double xx)
DESCRIPTION:
double igamc(double a, double x)
incomplete complementary gamma function igamc(a, x) = 1 - igam(a, x)
double beta(double z, double w)
double incbcf(double a, double b, double x)