Logo ROOT  
Reference Guide
SpecFuncCephes.h
Go to the documentation of this file.
1 // special functions taken from Cephes library
2 // see: http://www.netlib.org/cephes
3 //
4 // Copyright 1985, 1987, 2000 by Stephen L. Moshier
5 //
6 // granted permission from the author to be used in MathCore
7 //
8 
9 
10 
11 
12 #ifndef ROOT_Math_SpecFunCephes
13 #define ROOT_Math_SpecFunCephes
14 
15 namespace ROOT {
16  namespace Math {
17 
18  namespace Cephes {
19 
20 
21 //---
22 /* the machine roundoff error */
23 #define kMACHEP 1.11022302462515654042363166809e-16
24 
25 /* largest argument for TMath::Exp() */
26 #define kMAXLOG 709.782712893383973096206318587
27 
28 /* smallest argument for TMath::Exp() without underflow */
29 #define kMINLOG -708.396418532264078748994506896
30 
31 /* the maximal number that pow(x,x-0.5) has no overflow */
32 /* we use a (very) conservative portable bound */
33 #define kMAXSTIR 108.116855767857671821730036754
34 
35 #define kMAXLGM 2.556348e305
36 
37 
38 /**
39  incomplete complementary gamma function
40  * igamc(a, x) = 1 - igam(a, x)
41 */
42 double igamc( double a, double x );
43 
44 /* incomplete gamma function*/
45 double igam( double a, double x );
46 
47 /* Logarithm of gamma function */
48 double lgam( double x );
49 
50 /* gamma function*/
51 double gamma( double x );
52 
53 /* beta function*/
54 double beta(double z, double w);
55 
56 /* evaluation of incomplete beta */
57 double incbet( double aa, double bb, double xx );
58 
59 /* Continued fraction expansion #1
60  * for incomplete beta integral
61  * used when xx < (aa-1)/(aa+bb-2)
62  * (and bb*xx > 1 or xx > 0.95)
63 */
64 double incbcf( double a, double b, double x );
65 
66 
67 /* Continued fraction expansion #2
68  * for incomplete beta integral
69  * used when xx > (aa-1)/(aa+bb-2)
70  * (and bb*xx > 1 or xx > 0.95)
71  */
72 double incbd( double a, double b, double x );
73 
74 
75 /* Power series for incomplete beta integral.
76  Use when b*x is small and x not too close to 1. */
77 
78 double pseries( double a, double b, double x );
79 
80 
81 /* error function */
82 double erf( double a );
83 
84 /* complementary error function */
85 double erfc( double a );
86 
87 
88 // inverse function
89 
90 /* normal quantile */
91 double ndtri (double y);
92 
93 /* normal quantile */
94 double ndtri (double y);
95 
96 /* inverse of incomplete gamma */
97 double igami (double a, double y);
98 
99 /* inverse of incomplete beta */
100 double incbi (double a, double b, double y);
101 
102 
103 } // end namespace Cephes
104 
105 /* routines for efficient polynomial evaluation*/
106 double Polynomialeval(double x, double* a, unsigned int N);
107 double Polynomial1eval(double x, double* a, unsigned int N);
108 
109 
110 } // end namespace Math
111 } // end namespace ROOT
112 
113 
114 #endif /* SpecFun */
115 
ROOT::Math::Cephes::gamma
double gamma(double x)
Definition: SpecFuncCephes.cxx:339
ROOT::Math::Cephes::incbet
double incbet(double aa, double bb, double xx)
DESCRIPTION:
Definition: SpecFuncCephes.cxx:484
ROOT::Math::Cephes::erf
double erf(double x)
Definition: SpecFuncCephes.cxx:926
ROOT::Math::Polynomial1eval
double Polynomial1eval(double x, double *a, unsigned int N)
Definition: SpecFuncCephes.cxx:967
ROOT::Math::Cephes::igami
double igami(double a, double y)
Definition: SpecFuncCephesInv.cxx:225
ROOT::Math::Cephes::erfc
double erfc(double a)
Definition: SpecFuncCephes.cxx:874
N
#define N
x
Double_t x[n]
Definition: legend1.C:17
b
#define b(i)
Definition: RSha256.hxx:118
ROOT::Math::Cephes::pseries
double pseries(double a, double b, double x)
Definition: SpecFuncCephes.cxx:766
ROOT::Math::Cephes::ndtri
double ndtri(double y)
Definition: SpecFuncCephesInv.cxx:137
ROOT::Math::Cephes::incbd
double incbd(double a, double b, double x)
Definition: SpecFuncCephes.cxx:674
ROOT::Math::Polynomialeval
double Polynomialeval(double x, double *a, unsigned int N)
Definition: SpecFuncCephes.cxx:951
ROOT::Math::Cephes::incbi
double incbi(double a, double b, double y)
Definition: SpecFuncCephesInv.cxx:411
a
auto * a
Definition: textangle.C:12
ROOT::Math::Cephes::igam
double igam(double a, double x)
Definition: SpecFuncCephes.cxx:127
y
Double_t y[n]
Definition: legend1.C:17
ROOT::Math::Cephes::lgam
double lgam(double x)
Definition: SpecFuncCephes.cxx:197
ROOT::Math::Cephes::igamc
double igamc(double a, double x)
incomplete complementary gamma function igamc(a, x) = 1 - igam(a, x)
Definition: SpecFuncCephes.cxx:51
ROOT::Math::Cephes::beta
double beta(double z, double w)
Definition: SpecFuncCephes.cxx:428
ROOT
VSD Structures.
Definition: StringConv.hxx:21
Math
ROOT::Math::Cephes::incbcf
double incbcf(double a, double b, double x)
Definition: SpecFuncCephes.cxx:581