Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
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
15namespace 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*/
42double igamc( double a, double x );
43
44/* incomplete gamma function*/
45double igam( double a, double x );
46
47/* Logarithm of gamma function */
48double lgam( double x );
49
50/* gamma function*/
51double gamma( double x );
52
53/* beta function*/
54double beta(double z, double w);
55
56/* evaluation of incomplete beta */
57double 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*/
64double 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 */
72double 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
78double pseries( double a, double b, double x );
79
80
81/* error function */
82double erf( double a );
83
84/* complementary error function */
85double erfc( double a );
86
87
88// inverse function
89
90/* normal quantile */
91double ndtri (double y);
92
93/* normal quantile */
94double ndtri (double y);
95
96/* inverse of incomplete gamma */
97double igami (double a, double y);
98
99/* inverse of incomplete beta */
100double incbi (double a, double b, double y);
101
102
103} // end namespace Cephes
104
105/* routines for efficient polynomial evaluation*/
106double Polynomialeval(double x, double* a, unsigned int N);
107double Polynomial1eval(double x, double* a, unsigned int N);
108
109
110} // end namespace Math
111} // end namespace ROOT
112
113
114#endif /* SpecFun */
115
#define b(i)
Definition RSha256.hxx:100
#define a(i)
Definition RSha256.hxx:99
#define N
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
double incbd(double a, double b, double x)
double erfc(double a)
double erf(double x)
double incbcf(double a, double b, double x)
double incbet(double aa, double bb, double xx)
DESCRIPTION:
double pseries(double a, double b, double x)
double igam(double a, double x)
double lgam(double x)
double igamc(double a, double x)
incomplete complementary gamma function igamc(a, x) = 1 - igam(a, x)
double beta(double z, double w)
double igami(double a, double y)
double incbi(double a, double b, double y)
double gamma(double x)
double Polynomial1eval(double x, double *a, unsigned int N)
double Polynomialeval(double x, double *a, unsigned int N)