ROOT
6.30.04
Reference Guide
All
Namespaces
Files
Pages
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
math
mathcore
src
SpecFuncCephes.h
Generated on Tue May 5 2020 14:03:02 for ROOT by
1.8.5